

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

# 啟用或停用註釋資料表
<a name="metadata-tables-enable-disable-annotation-tables"></a>

根據預設，您的中繼資料表組態包含*日誌資料表*，表中記錄了儲存貯體中物件發生的事件。每個中繼資料表組態都需要日誌資料表。

或者，您可以將*註釋資料表*新增至中繼資料資料表組態。註釋資料表會追蹤儲存貯體中物件的所有註釋，讓您可以大規模查詢註釋資料。

註釋資料表包含儲存貯體中所有物件的最新註釋。您可以使用此表格，根據物件的註釋來識別物件，以簡化和加速業務工作流程和大數據任務。例如，您可以查詢註釋資料表來執行下列動作：
+ 尋找具有特定註釋索引鍵或值的所有物件。
+ 在儲存貯體中的物件之間建立註釋索引鍵的分佈。
+ 尋找具有特定委託人套用註釋的所有物件。

如果您選擇為中繼資料資料表組態啟用註釋資料表，則資料表會經歷稱為*回填*的程序，在此期間，Amazon S3 會掃描您的一般用途儲存貯體，以擷取並填入儲存貯體中所有物件的註釋。視儲存貯體中的物件數量而定，此程序可能需要幾分鐘到數小時的時間。回填程序完成後，註釋資料表的狀態會從**回填**變更為**作用中**。回填完成後，物件的更新通常會在一小時內反映在註釋資料表中。

**注意**  
您需要支付回填註釋資料表的費用。如需詳細資訊，請參閱 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)。
您無法暫停註釋資料表的更新，然後繼續更新。不過，您可以停用註釋資料表組態。停用註釋資料表並不會將其刪除。註釋資料表會保留給您的記錄，直到您決定將其刪除為止。  
如果您已停用註釋資料表，但之後想要重新啟用，您必須先從 AWS 受管資料表儲存貯體中刪除舊的註釋資料表。當您重新啟用註釋資料表組態時，Amazon S3 會建立新的註釋資料表，而且會再次向您收取重新填入新註釋資料表的費用。

您可以使用 Amazon S3 主控台、 AWS Command Line Interface (AWS CLI)、 AWS SDKs 或 Amazon S3 REST API 來啟用或停用註釋資料表。

**先決條件**  
如果您已停用註釋資料表，現在想要重新啟用，您必須先從 AWS 受管資料表儲存貯體手動刪除舊的註釋資料表。否則，重新啟用註釋資料表會失敗，因為註釋資料表已存在於資料表儲存貯體中。若要刪除註釋資料表，請參閱 [刪除中繼資料表](metadata-tables-delete-table.md#delete-metadata-table-procedure)。

當您重新啟用註釋資料表組態時，Amazon S3 會建立新的註釋資料表，而且會再次向您收取重新填入新註釋資料表的費用。

## 註釋資料表 IAM 角色
<a name="annotation-table-iam-role-section"></a>

註釋資料表需要 IAM 角色，授予 Amazon S3 Metadata 從儲存貯體讀取註釋的許可。當您建立此角色時，請使用下列信任和許可政策。

**信任政策**  
下列信任政策會將 Amazon S3 Metadata 識別為可擔任該角色的服務主體。

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "metadata.s3.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:::{{amzn-s3-demo-bucket}}"
                }
            }
        }
    ]
}
```

**許可政策**  
下列許可政策授予 IAM 角色讀取註釋所需的最低許可。

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PermissionForGetAnnotation",
      "Effect": "Allow",
      "Action": [
        "s3:GetObjectAnnotation",
        "s3:GetObjectVersionAnnotation"
      ],
      "Resource": ["arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"]
    },
    {
      "Sid": "PermissionsForListBucket",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:ListBucketVersions"
      ],
      "Resource": ["arn:aws:s3:::{{amzn-s3-demo-bucket}}"]
    },
    {
      "Sid": "PermissionsForDecryptAnnotation",
      "Effect": "Allow",
      "Action": ["kms:Decrypt"],
      "Resource": ["*"]
    }
  ]
}
```

如果您的物件使用 SSE-KMS 加密，則 `kms:Decrypt`許可涵蓋用於加密物件之 AWS KMS 金鑰的解密。您也需要將角色指派給註釋資料表組態的`iam:PassRole`許可。

## 啟用或停用註釋資料表
<a name="metadata-tables-enable-disable-annotation-tables-procedure"></a>

### 使用 S3 主控台
<a name="metadata-tables-enable-disable-annotation-tables-console"></a>

**啟用或停用註釋資料表**

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

1. 在左側導覽窗格中，選擇**一般用途儲存貯體**。

1. 選擇具有您要啟用或停用註釋資料表之中繼資料表組態的一般用途儲存貯體。

1. 在儲存貯體的詳細資訊頁面上，選擇**中繼資料**索引標籤。

1. 在**中繼資料**索引標籤上，選擇**編輯**，然後選擇**編輯註釋資料表組態**。

1. 在**編輯註釋資料表組態**頁面上，選擇**註釋資料表******下的**啟用或停用**。
**注意**  
在選擇**已啟用**之前，請確定您已檢閱並符合[先決條件](#annotation-table-config-prereqs)。
   + 如果您選擇**已啟用**，請在 **IAM 角色**下選擇下列其中一個 IAM 角色選擇方法：
     + **建立新的 IAM 角色** – Amazon S3 會建立具有註釋資料表所需許可的新 IAM 角色。
     + **從現有的 IAM 角色中選擇** – 從 IAM 角色下拉式清單中選取現有的 **IAM 角色**。角色必須具有從儲存貯體讀取註釋所需的許可。
     + **輸入 IAM 角色 ARN** – 輸入具有所需許可的現有 IAM 角色的 ARN。

     如需註釋資料表 IAM 角色所需許可的詳細資訊，請參閱[註釋資料表 IAM 角色](#annotation-table-iam-role-section)。

     您也可以選擇是否使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 透過伺服器端加密來加密資料表。根據預設，註釋資料表會使用 Amazon S3 受管金鑰 (SSE-S3) 以伺服器端加密進行加密。

     如果您選擇使用 SSE-KMS，則必須在與您的一般用途儲存貯體相同的區域中提供客戶管理的 KMS 金鑰。
**重要**  
您只能在建立資料表期間設定中繼資料表的加密類型。建立 AWS 受管資料表後，您無法變更其加密設定。
     + 若要使用 SSE-S3 （預設） 加密註釋資料表，請選擇**不指定加密類型**。
     + 若要使用 SSE-KMS 加密註釋資料表，請選擇**指定加密類型**。在**加密類型**下，選擇**使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 的伺服器端加密**。在 **AWS KMS 金鑰**下，從現有的 KMS 金鑰中選擇，或輸入您的 KMS 金鑰 ARN。如果您還沒有 KMS 金鑰，請選擇**輸入 KMS 金鑰 ARN**，然後選擇**建立 KMS 金鑰**。
   + 如果您選擇**已停用**，**則在停用註釋資料表之後，資料表將不再更新，且無法繼續更新**，請選取核取方塊。

1. 選擇**儲存變更**。

### 使用 AWS CLI
<a name="metadata-tables-enable-disable-annotation-tables-cli"></a>

若要執行下列命令，您必須 AWS CLI 安裝並設定 。如果您尚未 AWS CLI 安裝 ，請參閱*AWS Command Line Interface 《 使用者指南*》中的[安裝或更新至最新版本的 AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) 。

或者，您也可以使用 ，從主控台執行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是一種以瀏覽器為基礎的預先驗證 Shell，您可以直接從 啟動 AWS 管理主控台。如需詳細資訊，請參閱《AWS CloudShell 使用者指南》**中的[什麼是 CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) 和[開始使用 AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html)。

**使用 啟用或停用註釋資料表 AWS CLI**

若要使用下列範例命令，請以您自己的資訊取代 `{{user input placeholders}}`。
**注意**  
啟用註釋組態之前，請確定您已檢閱並符合[先決條件](#annotation-table-config-prereqs)。

1. 建立包含註釋資料表組態的 JSON 檔案，並儲存它 （例如 `annotation-config.json`)。以下是啟用新註釋資料表的範例組態。

   如果您要啟用註釋資料表，您可以選擇指定加密組態。根據預設，中繼資料表會使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密，其中可以將 `SseAlgorithm` 設定為 `AES256`。

   若要使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 透過伺服器端加密來加密註釋資料表，請將 `SseAlgorithm`設定為 `aws:kms`。您還必須在一般用途儲存貯體所在的相同區域中，將 `KmsKeyArn` 設定為客戶自管 KMS 金鑰的 ARN。

   ```
   {
     "ConfigurationState": "ENABLED",
     "Role": "arn:aws:iam::{{account-id}}:role/{{annotation-table-role}}",
     "EncryptionConfiguration": {
       "SseAlgorithm": "aws:kms",
       "KmsKeyArn": "arn:aws:kms:{{us-east-2}}:{{account-id}}:key/{{key-id}}"
     }
   }
   ```

   第一次啟用註釋資料表或變更 IAM 角色時， 欄位為必要`Role`欄位。角色必須授予 Amazon S3 Metadata 從儲存貯體讀取註釋的許可。如需詳細資訊，請參閱[註釋資料表 IAM 角色](#annotation-table-iam-role-section)。

   如果您想要停用現有的註釋資料表，請使用下列組態：

   ```
   {
     "ConfigurationState": "DISABLED"  }
   ```

1. 使用下列命令來更新一般用途儲存貯體的註釋資料表組態 （例如 `{{amzn-s3-demo-bucket}}`)：

   ```
   aws s3api update-bucket-metadata-annotation-table-configuration \
   --bucket {{amzn-s3-demo-bucket}} \
   --annotation-table-configuration file://./{{annotation-config}}.json \
   --region {{us-east-2}}
   ```

### 使用 REST API
<a name="metadata-tables-enable-disable-annotation-tables-rest-api"></a>

您可以傳送 REST 請求來啟用或停用註釋資料表。如需詳細資訊，請參閱[https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataAnnotationTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataAnnotationTableConfiguration.html)。

### 使用 AWS SDKs
<a name="metadata-tables-enable-disable-annotation-tables-sdk"></a>

您可以使用 AWS SDKs 在 Amazon S3 中啟用或停用註釋資料表。如需詳細資訊，請參閱[支援的 SDK 清單](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataAnnotationTableConfiguration.html#API_UpdateBucketMetadataAnnotationTableConfiguration_SeeAlso)。