

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

# 透過一般用途儲存貯體的存取點上傳物件
<a name="put-object-ap"></a>

本節說明如何使用 AWS Command Line Interface、 AWS 管理主控台或 REST API，透過一般用途儲存貯體的存取點上傳物件。

## 使用 S3 主控台
<a name="put-object-ap-console"></a>

**透過 中的存取點上傳物件 AWS 帳戶**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在頁面頂端的導覽列中，選擇目前顯示的名稱 AWS 區域。接下來，選擇您要列出存取點的區域。

1. 在主控台左側的導覽窗格中，選擇**存取點**。

1. (選用) 依名稱搜尋存取點。只有所選存取點 AWS 區域 才會顯示在這裡。

1. 選擇存取點的名稱以管理或使用此存取點。

1. 在**物件**索引標籤下，選取**上傳**。

1. 將您要上傳的檔案和資料夾拖放至此處，或選擇**新增檔案**或**新增資料夾**。
**注意**  
使用 Amazon S3 主控台可上傳的檔案大小上限為 160 GB。若要上傳大於 160 GB 的檔案，請使用 AWS Command Line Interface (AWS CLI)、 AWS SDKs或 Amazon S3 REST API。

1. 若要變更存取控制清單許可，請選擇**Permissions** (許可)。

1. 在**存取控制清單 (ACL)**中，編輯許可。

   如需物件存取許可的資訊，請參閱「[使用 S3 主控台來設定物件的 ACL 許可](managing-acls.md#set-object-permissions)」。您可以針對您上傳的所有檔案，將物件的讀取存取許可授予大眾 (全世界的所有人)。但是，建議不要變更公有讀取存取的預設設定。授予公有讀取存取適用於一小部分的使用情況，例如當儲存貯體用於網站時。您一律可以在上傳物件之後變更物件許可。

1. 若要設定其他附加屬性，請選擇**Properties** (屬性)。

1. 在**儲存類別**下，選擇您要上傳的檔案的儲存類別。

   如需儲存體方案的詳細資訊，請參閱「[了解和管理 Amazon S3 儲存類別](storage-class-intro.md)」。

1. 若要更新物件的加密設定，請在 **Server-side encryption settings** (伺服器端加密設定) 下，執行下列操作。

   1. 選擇 **Specify an encryption key** (指定加密金鑰)。

   1. 在**加密設定**底下，選擇**使用預設加密的儲存貯體設定**或**覆寫預設加密的儲存貯體設定**。

   1. 若您選擇**覆寫預設加密的儲存貯體設定**，則您必須設定下列加密設定。
      + 若要使用 Amazon S3 管理的金鑰加密上傳的檔案，請選擇 **Amazon S3 受管金鑰 (SSE-S3)**。

        如需詳細資訊，請參閱[使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密](UsingServerSideEncryption.md)。
      + 若要使用儲存在 AWS Key Management Service () 中的金鑰來加密上傳的檔案AWS KMS，請選擇**AWS Key Management Service 金鑰 (SSE-KMS)**。然後針對 **AWS KMS 金鑰**，選擇下列其中一個選項：
        + 若要從可用的 KMS 金鑰清單中選擇，請選擇**從 AWS KMS keys中選擇**，然後從可用金鑰清單中選擇您的 **KMS 金鑰**。

           AWS 受管金鑰 (`aws/s3`) 和您的客戶受管金鑰都會顯示在此清單中。如需詳細了解客戶受管金鑰，請參閱《AWS Key Management Service 開發人員指南》**中的[客戶金鑰和 AWS 金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt)。
        + 若要輸入 KMS 金鑰 ARN，請選擇**輸入 AWS KMS key ARN**，然後在出現的欄位中輸入您的 KMS 金鑰 ARN。
        + 若要在 AWS KMS 主控台中建立新的客戶受管金鑰，請選擇**建立 KMS 金鑰**。

          如需建立 的詳細資訊 AWS KMS key，請參閱《 *AWS Key Management Service 開發人員指南*》中的[建立金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html)。
**重要**  
您只能使用 AWS 區域 與儲存貯體相同的 KMS 金鑰。Amazon S3 主控台僅會列出與儲存貯體位於相同區域的前 100 個 KMS 金鑰。若要使用未列出的 KMS 金鑰，必須輸入 KMS 金鑰 ARN。若您想要使用其他帳戶的 KMS 金鑰，您必須先具有該金鑰的使用權限，然後輸入 KMS 金鑰 ARN。  
Amazon S3 僅支援對稱加密 KMS 金鑰，而不支援非對稱 KMS 金鑰。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[識別對稱和非對稱 KMS 金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html)。

1. 若要使用額外的檢查總和，請選擇 **On** (開啟)。然後為 **檢查總和函數**，選擇您要使用的函數。Amazon S3 在接收完整物件後計算並存儲檢查總和的值。您可以使用 **預先計算的值** 方塊以提供預先計算的值。如果您這樣做，Amazon S3 會將您提供的值與其計算的值進行比較。如果兩個值不匹配，Amazon S3 將產生錯誤。

   通過額外的檢查總和，您可以指定要用於驗證資料的檢查總合演算法。如需額外的檢查總和詳細資訊，請參閱「[在 Amazon S3 中檢查物件完整性](checking-object-integrity.md)」。

1. 若要將標籤新增至您要上傳的所有物件，請選擇 **Add tag** (新增標籤)。在**金鑰**欄位中輸入標籤名稱。輸入標籤值。

   物件標記提供您一個分類儲存的方法。每個標籤都是金鑰值對。金鑰與標記值皆區分大小寫。每物件最多可有 10 個標籤。標籤金鑰最長可包含 128 個 Unicode 字元；標籤值最長可包含 255 個 Unicode 字元。如需物件標籤的詳細資訊，請參閱 [使用標籤為物件分類](object-tagging.md)。

1. 若要新增中繼資料，請選擇 **Add metadata** (新增中繼資料)。

   1. 在 **Type** (類型) 下，選擇 **System defined** (系統定義) 或 **User defined** (使用者定義)。

      對於系統定義的中繼資料，您可以選取常見的 HTTP 標頭，例如 **Content-Type** 和 **Content-Disposition**。如需系統定義的中繼資料清單及是否可新增值的資訊，請參閱「[系統定義的物件中繼資料](UsingMetadata.md#SysMetadata)」。以字首 `x-amz-meta-` 開頭的所有中繼資料都會視為使用者定義的中繼資料。使用者定義的中繼資料會與 物件一起存放，並在下載物件時傳回。金鑰及其值都必須符合 US-ASCII 標準。使用者定義的中繼資料最大可達 2 KB。如需系統定義與使用者定義中繼資料的詳細資訊，請參閱 「[使用物件中繼資料](UsingMetadata.md)」。

   1. 針對 **Key** (金鑰) 中，選擇一個金鑰。

   1. 輸入金鑰的值。

1. 若要上傳物件，請選擇 **Upload** (上傳)。

   Amazon S3 會上傳您的物件。上傳完成後，您可以在 **Upload: status** (上傳：狀態) 頁面上看到成功訊息。

## 使用 AWS CLI
<a name="put-object-ap-cli"></a>

下列`put-object`範例命令顯示如何使用 AWS CLI ，透過存取點上傳物件。

下列命令會使用存取點 *my-access-point* 上傳 AWS 帳戶 *111122223333* 的物件 `puppy.jpg`。

```
aws s3api put-object --bucket arn:aws:s3:AWS 區域:111122223333:accesspoint/my-access-point --key puppy.jpg --body puppy.jpg      
```

**注意**  
S3 會自動為所有存取點產生存取點別名，而且存取點別名可在儲存貯體名稱執行物件層級操作的任何地方使用。如需詳細資訊，請參閱[存取點別名](access-points-naming.md#access-points-alias)。

如需詳細資訊和範例，請參閱AWS CLI 命令參考**中的 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html)。

## 使用 REST API
<a name="put-object-ap-rest"></a>

您可以使用 REST API 透過存取點上傳物件。如需詳細資訊，請參閱《Amazon Simple Storage Service API 參考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)。

## 使用 AWS SDKs
<a name="put-object-ap-SDKs"></a>

您可以使用適用於 Python 的 AWS SDK 透過存取點上傳物件。

------
#### [ Python ]

在下列範例中，使用名為 *my-access-point* 的存取點為 AWS 帳戶 *111122223333* `hello.txt`上傳名為 的檔案。

```
import boto3
s3 = boto3.client('s3')
s3.upload_file('/tmp/hello.txt', 'arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point', 'hello.txt')
```

------