在中使用API等级 (s3api) 命令 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在中使用API等级 (s3api) 命令 Amazon CLI

API级别命令(包含在s3api命令集中)可直接访问亚马逊简单存储服务 (Amazon S3) Storage APIs Service,并启用一些未在高级命令中公开的s3操作。这些命令等同于其他为 Amazon 服务功能提供API级别访问权限的服务。有关 s3 命令的更多信息,请参阅 在中使用高级别 (s3) 命令 Amazon CLI

本主题提供的示例演示如何使用映射到 Amazon S3 APIs 的较低级别命令。此外,您还可以在的s3api部分中找到每个 S3 API 命令的示例。

先决条件

要运行 s3api 命令,您需要:

应用自定义 ACL

使用高级命令,您可以使用--acl选项将预定义的访问控制列表 (ACLs) 应用于 Amazon S3 对象。但是你不能使用该命令来设置存储桶范围ACLs。但是,你可以使用 level 命令来执行此操作。 put-bucket-acl API

以下示例说明如何向两个 Amazon 用户(user1@example.comuser2@example.com)授予完全控制权以及如何向所有人授予读取权限。“everyone” 的标识符来自您作为参数传递URI的特殊标识符。

$ aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-full-control 'emailaddress="user1@example.com",emailaddress="user2@example.com"' --grant-read 'uri="http://acs.amazonaws.com/groups/global/AllUsers"'

有关如何构造的详细信息ACLs,请参阅《亚马逊简单存储服务API参考》中的存储PUT桶 acl。中的s3apiACL命令CLI,例如put-bucket-acl,使用相同的速记参数表示法。

配置日志记录策略

该API命令put-bucket-logging用于配置存储桶日志记录策略。

在以下示例中, Amazon 用户 user@example.com 被授予对日志文件的完全控制权,并且所有用户都拥有对日志文件的读取权限。请注意,还需要put-bucket-acl使用该命令向 Amazon S3 日志传输系统(由 a 指定URI)授予读取和写入存储桶日志所需的权限。

$ aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' --grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' $ aws s3api put-bucket-logging --bucket amzn-s3-demo-bucket --bucket-logging-status file://logging.json

上一个命令中的 logging.json 文件具有以下内容。

{ "LoggingEnabled": { "TargetBucket": "amzn-s3-demo-bucket", "TargetPrefix": "amzn-s3-demo-bucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "user@example.com" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] } }

资源

Amazon CLI 参考:

服务参考: