Skip to content

Commit 35a10f4

Browse files
authored
Merge pull request #236 from withchao/main
add s3 doc
2 parents df2fe24 + efe0a26 commit 35a10f4

1 file changed

Lines changed: 38 additions & 33 deletions

File tree

docs/guides/solution/s3.mdx

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ sidebar_position: 8
88

99
- OpenIM支持接入多种S3存储服务,包括:MINIO、阿里云OSS、腾讯云COS、七牛云KODO以及AWS,为开发者提供了广泛的选择。
1010
- 文件通过SDK直接上传至S3存储,避免经过API服务器,从而显著提升服务端性能。
11-
- 如果需要接入其他S3存储类型,也完全支持扩展。只需在服务端实现对应接口,无需对SDK进行任何修改。[接口地址](https://github.com/openimsdk/tools/blob/main/s3/s3.go)
1211
- 访问时调用的API地址仅用于将请求重定向至真实的S3存储地址,同时可在此阶段加入与业务相关的权限校验,确保数据安全性和业务灵活性。
12+
- API使用nginx代理,需要添加`proxy_set_header X-Request-Api $scheme://$host/api;`,参考文档:[Nginx配置](https://docs.openim.io/zh-Hans/guides/gettingStarted/nginxDomainConfig)
13+
- 如需要接入其他S3存储类型,也完全支持扩展。只需在服务端实现对应接口,无需对SDK进行任何修改。[接口地址](https://github.com/openimsdk/tools/blob/main/s3/s3.go)
1314

14-
-`config/openim-rpc-third.yml` 文件中的 `object.enable: <name>` 修改为 `minio``oss``cos``kodo``aws`
15+
-`config/openim-rpc-third.yml` 文件中的 `object.enable: <name>` 修改为 `minio``oss``cos``kodo``aws`, 默认为 `minio`
1516
```yaml
1617
object:
1718
enable: minio
@@ -20,41 +21,43 @@ object:
2021
# MINIO
2122
2223
1. 修改 config/minio.yml 文件中的 externalAddress 为你的应用访问地址,服务器无需能访问此地址。
24+
2. 使用minio nginx参考文档: https://docs.openim.io/zh-Hans/guides/gettingStarted/nginxDomainConfig
2325
```yaml
24-
# 中的存储桶名称
26+
# 存储桶名称,用于存储和管理文件。
2527
bucket: openim
26-
# 身份验证的访问密钥ID
28+
# 用于身份验证的访问密钥ID。
2729
accessKeyID: root
28-
# 身份验证的访问密钥
30+
# 用于身份验证的访问密钥Secret。
2931
secretAccessKey: openIM123
30-
# 身份验证的会话令牌(可选)
32+
# 会话令牌,若使用临时凭证则需要填写此项。
3133
sessionToken:
32-
# 服务器的内部地址
34+
# 服务器的内部地址,只用于服务器内部调用,一般是内网地址。
3335
internalAddress: localhost:10005
34-
# 服务器的外部地址,可从外部访问,支持使用域名的HTTP和HTTPS
36+
# 服务器的外部地址,可从外部访问,支持使用域名的HTTP和HTTPS,确保该地址客户端可访问。服务器无需能访问此地址,只用作签名使用。
3537
externalAddress: http://external_ip:10005
36-
# 是否启用存储桶的公共读权限
38+
# 是否启用存储桶的公共读权限,当设置为true,会自动将桶改为公共读权限,后续改为false不会将权限设置为私有。
3739
publicRead: false
3840
```
3941
40-
4142
# 阿里云OSS
4243
1. OSS创建存储桶地址: https://oss.console.aliyun.com/bucket
4344
2. AccessKey生成地址: https://ram.console.aliyun.com/profile/access-keys
4445
3. 官方文档: https://help.aliyun.com/zh/oss/developer-reference/overview-25/?spm=a2c4g.11186623.0.i3
4546
4. 修改`config/openim-rpc-third.yml`文件`object.oss`。
4647
```yaml
47-
# OSS数据中心端点,例如 http://oss-cn-hangzhou.aliyuncs.com .
48+
# OSS数据中心端点,例如http://oss-cn-hangzhou.aliyuncs.com
4849
endpoint:
49-
# 存储桶名称
50+
# 存储桶名称,用于存储和管理文件。
5051
bucket:
51-
# 存储桶URL
52+
# 存储桶的外部访问 URL,通常是加速后的访问地址。
5253
bucketURL:
53-
# 访问密钥ID
54+
# 用于身份验证的访问密钥ID。
5455
accessKeyID:
55-
# 访问密钥Secret
56+
# 用于身份验证的访问密钥Secret。
5657
accessKeySecret:
57-
# 公共读取模式,建议设置为false,否则无法设置下载的Content-Type和文件名
58+
# 会话令牌,若使用临时凭证则需要填写此项。
59+
sessionToken:
60+
# 公共读取模式,建议设置为false,否则无法设置下载的Content-Type和文件名,设置为true时,需要自行在oss管理后台设置。
5861
publicRead: false
5962
```
6063

@@ -64,13 +67,15 @@ publicRead: false
6467
3. 官方文档: https://cloud.tencent.com/document/product/436/7751
6568
4. 修改`config/openim-rpc-third.yml`文件`object.cos`
6669
```yaml
67-
# 存储桶URL
70+
# 存储桶URL Endpoint地址,例如:https://temp-1252357374.cos.ap-chengdu.myqcloud.com
6871
bucketURL:
69-
# 访问密钥ID
72+
# 用于身份验证的访问密钥ID。
7073
secretID:
71-
# 访问密钥Secret
74+
# 用于身份验证的访问密钥Secret。
7275
secretKey:
73-
# 公共读取模式,建议设置为false,否则无法设置下载的Content-Type和文件名
76+
# 会话令牌,若使用临时凭证则需要填写此项。
77+
sessionToken:
78+
# 公共读取模式,建议设置为false,否则无法设置下载的Content-Type和文件名,设置为true时,需要自行在cos管理后台设置。
7479
publicRead: false
7580
```
7681

@@ -82,38 +87,38 @@ publicRead: false
8287
```yaml
8388
# 七牛云KODO的Endpoint地址,例如:http://s3.cn-south-1.qiniucs.com
8489
endpoint:
85-
# 存储桶名称
90+
# 存储桶名称,用于存储和管理文件。
8691
bucket: kodo-bucket-test
87-
# 存储桶URL
88-
bucketURL: http://kodo-bucket-test-oetobfb.qiniudns.com
89-
# 访问密钥ID
92+
# 存储桶URL Endpoint地址,例如:http://kodo-bucket-test-oetobfb.qiniudns.com
93+
bucketURL:
94+
# 用于身份验证的访问密钥ID。
9095
accessKeyID:
91-
# 访问密钥Secret
96+
# 用于身份验证的访问密钥Secret。
9297
accessKeySecret:
93-
# 会话令牌(可选)
98+
# 会话令牌,若使用临时凭证则需要填写此项。
9499
sessionToken:
95-
# 公共读取模式,建议设置为false,否则无法设置下载的Content-Type和文件名
100+
# 公共读取模式,建议设置为false,否则无法设置下载的Content-Type和文件名,需要自行在kodo管理后台设置。
96101
publicRead: false
97102
```
98103

99-
100104
# AWS
101105
1. 区域文档: http://docs.aws.amazon.com/general/latest/gr/rande.html
102106
2. AWS创建存储桶地址: https://s3.console.aws.amazon.com/s3/home
103107
3. AccessKey生成地址: https://console.aws.amazon.com/iam/home?#/security_credentials
104108
4. 官方文档: https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/Welcome.html
109+
5. AWS暂时不支持通过URL参数生成缩略图。
105110
修改`config/openim-rpc-third.yml`文件`object.aws`
106111
```yaml
107112
# 发送请求的区域,参考:http://docs.aws.amazon.com/general/latest/gr/rande.html
108113
region:
109-
# 存储桶名称
114+
# 存储桶名称,用于存储和管理文件。
110115
bucket:
111-
# AWS访问密钥ID
116+
# 用于身份验证的访问密钥ID。
112117
accessKeyID:
113-
# AWS访问密钥Secret
118+
# 用于身份验证的访问密钥Secret。
114119
secretAccessKey:
115-
# AWS会话令牌
120+
# 会话令牌,若使用临时凭证则需要填写此项。
116121
sessionToken:
117-
# 公共读取模式,建议设置为false,否则无法设置下载的Content-Type和文件名
122+
# 公共读取模式。暂时不支持设置为true
118123
publicRead: false
119124
```

0 commit comments

Comments
 (0)