本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Snowball 的任务管理 API 参考
适用于 Amazon Snowball 的任务管理 API 是基于 HTTP (RFC 2616) 的网络协议。有关此 RFC 的更多信息,请参阅 IETF 网站上的 HTTP (RFC 2616)
在美国区域进行的用于列出工作或描述地址的 API 调用将分别返回该账户在美国境内的所有任务或地址。
适用于 Snowball 的任务管理 API 是一种 RPC 模型,其中有一组固定操作,并且各操作的语法在未进行任何交互的情况下就能被客户端识别。在下文中,您可以使用一个抽象 RPC 表示找出各个 API 操作的说明以及不会在线显示的操作名称。对于每个操作,该主题指定了指向 HTTP 请求要素的映射。
某个给定请求所映射到的特定任务管理操作由请求方法 (GET、PUT、POST 或 DELETE) 以及与其请求-URI 匹配的模式共同确定。如果操作为 PUT 或 POST,则 Snowball 将从请求正文内的请求 URI 路径段、查询参数和 JSON 对象中提取调用自变量。
虽然操作名称,例如CreateJob
不会在线显示,这些操作名称在中具有重要意义。Amazon Identity and Access Management(IAM) 策略。操作名称还可用于为命令行工具中的命令和元素命名。Amazon开发工具包 API。例如,Amazon Command Line Interface (Amazon CLI) 命令 create-job
会映射到 CreateJob
操作。操作名称还会显示在 Snowball API 调用的 CloudTrail 日志中。
有关安装和设置Amazon CLI,包括指定你想要制作的区域Amazon CLI打电话,请参阅Amazon Command Line Interface用户指南.
通过任务管理 API,您能以编程方式访问中的相同功能。Amazon Snow 系列管理控制台
API 终端节点
API 终端节点是指在 API 调用的 HTTP URI 中用作主机的域名服务 (DNS) 名称。这些 API 终端节点是特定于区域的,并采用以下形式。
snowball.
aws-region
.amazonaws.com
例如,美国西部(俄勒冈)区域的 Snowball API 终端节点如下。
snowball.us-west-2.amazonaws.com
有关列表Amazon Web Services 区域Snowball 支持的(可在其中创建和管理任务),请参阅Amazon Import/Export中的Amazon一般参考.
特定于区域的 API 终端节点定义在执行 API 调用时可访问的 Snowball 资源的范围。例如,当你调用ListJobs
使用上述终端节点操作,您将获得已在您的账户中创建的位于美国西部(俄勒冈)区域的任务列表。
API 版本
用于调用的 API 的版本由请求 URI 的第一个路径分段确定,且采用 ISO 8601 日期的格式。本文档中所描述的版本为 API 版本 2016-06-30。
API 权限策略参考
使用适用于 Snowball 的任务管理 API 为创建任务时,需要使用以下策略。
用于创建任务的角色信任策略
使用任务管理 API 创建任务时,需要使用以下信任策略。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "importexport.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "AWSIE" } } } ] }
要了解有关信任策略的更多信任策略修改角色(在 IAM 用户指南中)。
用于创建导入任务的角色策略
创建导入任务时,需要使用以下角色策略。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "snowball:*" ], "Resource": [ "*" ] } ] }
用于创建导出任务的角色策略
创建导出任务时,需要使用以下角色策略。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "snowball:*" ], "Resource": [ "*" ] } ] }
创建任务的 Amazon S3 存储桶策略委托人
如果与 Snowball 结合使用的 Amazon S3 存储桶所采用的存储桶策略要求列出所担任角色的角色会话名称,则您需要在标识出的策略中指定一位委托人。AWSImportExport-Validation
. 以下示例 Amazon S3 存储桶策略展示了如何执行此操作。
{ "Version": "2012-10-17", "Statement": { "Sid": "Allow Amazon Snowball To Create Jobs", "Effect": "Deny", "NotPrincipal": { "AWS": [ "arn:aws:iam::
111122223333
:role/rolename", "arn:aws:sts::111122223333
:assumed-role/rolename/AWSImportExport-Validation", "arn:aws:iam::111122223333
:root" ] }, "Action": "S3:*", "Resource": ["arn:aws:s3:::examplebucket
/*"] } }
在此示例策略中,我们拒绝了除 NotPrincipal
元素中指定的委托人之外的所有委托人的访问。有关如何使用的更多信息NotPrincipal
请参阅,NotPrincipal中的IAM 用户指南.