web/移动端数据上传或下载对接对象存储OBS应用框架和搭建
在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});
- 点赞
- 收藏
- 关注作者
评论(0)