web/移动端数据上传或下载对接对象存储OBS应用框架和搭建
【摘要】 在web或者 移动app 需要进行数据直接上传对象存储 或者从对象存储下载场景下, 本文示例使用临时ak sk sts-token 进行数据处理的业务框架和主要实现点示例前提条件: 已经完成华为云账户开通。 已经创建了华为云对象存储的桶。 掌握华为云IAM服务账户权限基本概念。 掌握了对象存储使用的基础方法。整体业务框架图:IAM 临时AK SK Token的获取和权限控制: 临时A...
在web或者 移动app 需要进行数据直接上传对象存储 或者从对象存储下载场景下, 本文示例使用临时ak sk sts-token 进行数据处理的业务框架和主要实现点示例
前提条件:
已经完成华为云账户开通。
已经创建了华为云对象存储的桶。
掌握华为云IAM服务账户权限基本概念。
掌握了对象存储使用的基础方法。
整体业务框架图:
IAM 临时AK SK Token的获取和权限控制:
临时AK SK Token实际是代表了一个用户,而这个用户是受OBS的权限控制和IAM的权限控制(权限基础参考:OBS权限控制的几件事(一));进而实现对于分发出去的临时AK SK Token能做什么,不能做什么的一个控制; 在使用此用户去兑换临时AK SK Token之前,需要完成对于此用户访问OBS权限的授权,授权根据业务需要在OBS桶上使用桶策略完成(参考:)
当前 临时AK SK Token的兑换只能使用用户的用户名密码进行,建议在后台服务器上控制实现此部分内容:
对于临时AK SK Token的获取 API参考:https://support.huaweicloud.com/api-iam/zh-cn_topic_0097949518.html
对于临时AK SK Token的获取 SDK参考:https://developer.huaweicloud.com/sdk?IAM
一个python使用委托获取临时AK SK Token的示例:
OBS web/移动端 client初始化示例:
OBS相关SDK 获取地址:
https://developer.huaweicloud.com/sdk?OBS
Android:
private static final String endPoint = "https://your-endpoint";
private static final String ak = "*** Provide your Access Key ***";
private static final String sk = "*** Provide your Secret Key ***";
private static final String token = "*** Provide your Secret Key ***";
private static ObsClient obsClient;
// 创建ObsClient实例
ObsConfiguration config = new ObsConfiguration();
config.setSocketTimeout(30000);
config.setConnectionTimeout(10000);
config.setEndPoint(endPoint);
obsClient = new ObsClient(ak, sk,token,config);
// 使用访问OBS
// 关闭obsClient
obsClient.close();
iOS:
NSString *endPoint = @"your-endpoint";
NSString *SK = @"*** Provide your Secret Key ***";
NSString *AK = @"*** Provide your Access Key ***";
// 初始化身份验证
OBSStaticCredentialProvider *credentailProvider = [[OBSStaticCredentialProvider alloc] initWithAccessKey:AK secretKey:SK];
securityTokencredentailProvider.securityToken = @"*** Provide your Security Token ***";
// 初始化服务配置
OBSServiceConfiguration *conf = [[OBSServiceConfiguration alloc] initWithURLString:endPoint credentialProvider:credentailProvider];
// 初始化
clientOBSClient *client = [[OBSClient alloc] initWithConfiguration:conf];
web js:
// 未引入AMD,直接通过构造函数创建ObsClient实例var obsClient = new ObsClient({
access_key_id: '*** Provide your Access Key ***',
secret_access_key: '*** Provide your Secret Key ***',
security_token: '*** Provide your STS Token ***'
server : 'https://your-endpoint'});
// 使用访问OBS
// 引入AMD,通过依赖注入的构造函数创建ObsClient实例var obsClient;
define(['ObsClient'], function(ObsClient){
obsClient = new ObsClient({
access_key_id: '*** Provide your Access Key ***',
secret_access_key: '*** Provide your Secret Key ***',
security_token: '*** Provide your STS Token ***'
server : 'https://your-endpoint'
});
// 使用访问OBS});
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
阿里2020/03/07 06:55:571楼编辑删除举报