DaaS 服务端 Java二次开发指南-存储服务

409 阅读1分钟

回到目录

阿里云 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…

回到目录