简介
背景
在开发指南-客户端上传里,介绍了客户端提供了两种授权方式上传到点播:
- 使用上传地址和凭证上传
- 使用STS方式上传
本文重点介绍使用STS方式进行上传的实现过程,但点播服务默认推荐使用上传地址和凭证上传,其相比STS方式拥有诸多优势。
STS介绍
STS (Security Token Service) 是阿里云通用的鉴权方式,通过STS方式上传,上传SDK内部会封装所有上传的细节,包括:获取上传地址和上传凭证的API调用,整体流程上用户只需要关注STS的获取、STS过期刷新以及文件上传完成回调即可。具体对STS的介绍文档请参考STS介绍。
基本流程
注意事项
- 步骤2中业务服务APPServer发送请求从阿里云RAM/STS服务获取的STS,为了提高获取效率和避免RAM/STS服务对请求的流控限制需要在业务服务APPServer中对STS进行缓存。
- 具体STS针对点播服务权限的相关配置详见下面的文档:点播服务的STS配置。
- 使用STS上传视频文件到点播时,必须在点播服务上创建好一个模版ID。
实现过程
- 控制台配置STS点播权限。详见:点播服务的STS配置。
- 业务服务APPServer从STS服务获取STS。相关示例代码详见:点播服务STS获取示例代码。
- 客户端从业务服务APPServer获取STS凭证。
- 客户端添加本地文件,并设置STS,开始上传。
设置STS
STS在初始化上传实例的时候进行设置,下面是iOS、Android、Web平台的相关初始化代码。
iOS示例代码
[self.uploader
init:`STS Key Id`
accessKeySecret:`STS Key Secret`
secretToken:STS Secret Token`
expireTime:`STS Expire Time`
listener:listener
];
Android示例代码
VODUploadClient uploader = new VODUploadClientImpl(getApplicationContext());
uploader.init(accessKeyId,
accessKeySecret,
secretToken,
expireTime,
callback);
H5 JS 示例代码
var uploader = new AliyunUpload.Vod({
partSize: 1048576,//分片大小默认1M,不能小于100K
parallel: 5,//并行上传分片个数,默认5
retryCount: 3,//网络原因失败时,重新上传次数,默认为3
retryDuration: 2,//网络原因失败时,重新上传间隔时间,默认为2秒
'onUploadstarted': function (uploadInfo) {
uploader.setSTSToken(uploadInfo, accessKeyId, accessKeySecret,secretToken);
}
…… //其他回调
});
更多参考
上传文件列表管理,上传成功回调处理,凭证过期回调处理等可以阅读相关平台的上传SDK文档。
- iOS文件上传文档
- Android文件上传文档
- H5文件上传文档
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/34155.html