使用API級別(S3API)命令 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用API級別(S3API)命令 AWS CLI

API級別命令(包含在 s3api 命令集)可直接訪問 Amazon Simple Storage Service (Amazon S3)API,並啓用一些不暴露在高級別的操作 s3 命令。這些命令等同於對服務功能提供 API 層級存取的其他 AWS 服務。

本主題提供範例,示範如何使用對應到 Amazon S3 API 的較低層級命令。此外,您還可以在 CLI參考指南的S3API部分.

在執行任何命令前,請先設定您的預設登入資料。如需詳細資訊,請參閱設定 AWS CLI.

套用自訂 ACL

使用高級命令,您可以使用 --acl 選項應用預定義訪問控制列表(ACL)到 Amazon S3 對象。但不能使用該命令來設定整個儲存貯體的 ACL。但是,您可以使用 put-bucket-acl API級別命令。

以下示例顯示如何將全控制授予兩個 AWS 用戶(用戶1@example.comuser2@example.com)並且已閱讀對每個人的權限。"everyone" 的識別符來自您當做參數傳遞的特殊 URI。

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

有關如何構建ACL的詳細信息,請參閱 put池ACLAmazon Simple Storage Service API Reference. TheThethe s3api CLI中的ACL命令,例如 put-bucket-acl,使用相同的 短信參數標記.

設定記錄政策

API命令 put-bucket-logging 配置桶記錄策略。

在以下示例中,AWS用戶 用戶@example.com 已授權對日誌文件進行全面控制,並且所有用戶都可以讀取訪問權限。請注意, put-bucket-acl 命令還需要授予 Amazon S3 日誌遞送系統(由URI指定)讀取和寫入日誌到桶的權限。

$ aws s3api put-bucket-acl --bucket MyBucket --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 MyBucket --bucket-logging-status file://logging.json

TheThethe logging.json 上一命令中的文件包含以下內容。

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