搭配 AWS CLI 使用 API 層級 (s3api) 命令 - AWS Command Line Interface

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

搭配 AWS CLI 使用 API 層級 (s3api) 命令

API 層級命令 (包含在 s3api 命令集中) 提供對 Amazon Simple Storage Service (Amazon S3) API 的直接存取,並啟用在高階 s3 命令中未公開的部分操作。這些命令等同於對服務功能提供 API 層級存取的其他 AWS 服務。如需這些 s3 命令的詳細資訊,請參閱 搭配使用高階 (s3) 命令 AWS CLI

本主題提供範例,示範如何使用映射到 Amazon S3 API 的較低層級命令。此外,您可以在 AWS CLI 第 2 版參考指南s3api 部分找到每個 S3 API 命令的範例。

必要條件

若要執行 s3api 命令,您需要:

  • 安裝及設定 AWS CLI。如需詳細資訊,請參閱安裝或更新到最新版本的 AWS CLI驗證與存取憑證

  • 您使用的設定檔必須具有允許範例執行 AWS 操作的許可。

  • 了解這些 Amazon S3 術語:

    • 儲存貯體 – 頂層 Amazon S3 資料夾。

    • 前綴 – 儲存貯體中的 Amazon S3 資料夾。

    • 物件 – 託管於 Amazon S3 儲存貯體中的任一個項目。

套用自訂 ACL

透過高階命令,您可使用 --acl 選項在 Amazon S3 物件上套用預先定義的存取控制清單 (ACL)。但不能使用該命令來設定整個儲存貯體的 ACL。不過,您可以使用 put-bucket-acl API 層級命令做到這一點。

以下範例顯示如何將完全控制權授予兩位 AWS 使用者 (user1@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 的詳細資訊,請參閱《Amazon Simple Storage Service API 參考》中的 PUT 儲存貯體 acl。CLI 中的 s3api ACL 命令 (如 put-bucket-acl) 使用相同的速記參數表示法

設定記錄政策

API 命令 put-bucket-logging 設定儲存貯體記錄政策。

在以下範例中,AWS 使用者 (user@example.com) 獲准完全控制記錄檔案,並且所有使用者都具有對記錄檔案的讀取存取權。請注意,授予 Amazon S3 記錄傳送系統 (由 URI 指定) 將日誌讀取和寫入至儲存貯體的必要許可時,也需要 put-bucket-acl 命令。

$ 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

上一個命令中的 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" } ] } }

資源

AWS CLI 參考:

服務參考: