回到目录
阿里云 OSS
1.配置文件
infra.properties 中包含以下配置项,例如:
aliyun.oss.accessKeyId=
aliyun.oss.accessKeySecret=
aliyun.oss.ossBucket=xubai-public
aliyun.oss.roleArn=
aliyun.oss.policy={"Statement":[{"Action":["oss:PutObject"],"Effect":"Allow","Resource":["acs:oss:*:*:BUCKET_ID/USER_HOME/*"]}],"Version":"1"}
aliyun.oss.endpoint=oss-cn-beijing.aliyuncs.com
aliyun.oss.region=cn-beijing
aliyun.oss.stsVersion=2015-04-01
aliyun.oss.durationSeconds=3600
这些配置项,在配置文件 infra.xml 中,被“aliyunOssServiceConfiguration”引用:
参看官方文档,前台上传文件/图片时,需要获取一个token,此服务集成在StorageService中
Bean “storageService”的定义如下:
2.环境变量
出于安全和方便性考虑,一些敏感参数可以不在配置文件中配置,而是通过环境变量
| 参数 | 环境变量 |
|---|---|
| accessKeyId | ALIYUN_ACCESS_KEY_ID |
| accessKeySecret | ALIYUN_ACCESS_KEY_SECRET |
| roleArn | ALIYUN_ROLE_ARN |
例如, 在启动脚本中加入:
export ALIYUN_ACCESS_KEY_ID=LTAxxxxxPw8
export ALIYUN_ACCESS_KEY_SECRET=nBElkxxxxxxxxxxxxxxxxxxxA5I
export ALIYUN_ROLE_ARN=acs:ram::1209nnnnnnnn911:role/uploadrole
-
小提示: 如果有多个阿里云OSS需要配置,但是又想都通过环境变量配置,可以自由指定环境变量的名字,格式为 “env:<环境变量>”,例如
那么初始化的时候,就会读取 “ALI_OSS_ID”和“ALI_OSS_KEY”这两个名字的环境变量。这个通常用于开发环境,多个服务需要同时配置时。不推荐在正式项目中使用。
3.后台使用
通过调用storageService的genToken() 接口,可以获得阿里云oss服务所需token,例如:
此调用会返回一个Map,包含所需信息:
4.前台使用
请根据官方文档,使用对应的API,以及后台提供的token,完成文件上传等功能。
5.参考资料
官方文档:help.aliyun.com/document_de…