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

本文件 AWS CLI 僅適用於 第 1 版。如需 第 2 版的相關文件 AWS CLI,請參閱 第 2 版使用者指南

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

在 中使用 API 層級 (s3api) 命令 AWS CLI

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 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 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"'

如需有關如何建構 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 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" } ] } }

資源

AWS CLI 參考:

服務參考: