您可以通过使用 veImageX 提供的 SDK 来向我们发起已通过访问验证的 API 请求。由于 SDK 已经封装了签名能力,所以您无需进行手动签名计算。
在计算签名之前您需要提前获取访问密钥,由于主账号密钥权限过高,为保证您的账户安全,更建议您使用 IAM 用户访问密钥或 STS 临时访问凭证来发起请求。以下为您介绍这两种密钥的请求流程。
使用 IAM 用户访问密钥上传文件至 veImageX 的流程如下所示(以 Java 语言为例):
使用 IAM 用户访问密钥初始化 ImageXService 实例。
调用实例提供的uploadImages方法向 veImageX 发起上传文件请求。
实例使用 IAM 用户访问密钥产生签名,并将签名添加进该请求中。
具体操作请参考使用 IAM 用户访问密钥发起请求 。
IAM 用户可以使用生成临时凭证 SDK 来向 STS 服务请求临时访问凭证,并通过该凭证上传文件至 veImageX。临时安全令牌默认有效期为 1 小时,过期后即失效。具体流程如下所示(以 Java 语言为例):
使用 IAM 用户通过 AssumeRole SDK 创建了STSService 服务实例。
调用 STS 提供的assumeRole方法获取被授予特定权限的 IAM 角色的临时访问凭证。
使用 STS 临时访问凭证初始化ImageXService服务实例。
使用实例提供的uploadImages方法向 veImageX 发起上传文件请求。
实例使用 STS 临时访问凭证生成签名,并将签名添加至该请求中。
具体操作请参考使用 STS 临时访问凭证发起请求 ,以下为各语言调用临时访问凭证的 demo 示例。
ImageXServiceImpl imagex = ImageXServiceImpl.getInstance(); imagex.setAccessKey("ak"); imagex.setSecretKey("sk"); imagex.setSessionToken("st"); // 如果是临时凭证,就会存在 Session Token
instance := imagex.NewInstance() instance.SetCredential(base.Credentials{ AccessKeyID: "ak", SecretAccessKey: "sk", SessionToken: "st", // 如果是临时凭证,就会存在 Session Token })
imagex_service = ImageXService() imagex_service.set_ak('ak') imagex_service.set_sk('sk') imagex_service.set_session_token('st') // 如果是临时凭证,就会存在 Session Token
veImageX 提供了以下语言的 SDK,在完成相关服务配置后,您可通过服务端 SDK 或上传 SDK 向 veImageX 上传任意合法资源。