

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

# 建立鍵值存放區
<a name="kvs-with-functions-create"></a>



您可以同時建立一個鍵值存放區及其鍵值對。您也可以建立一個空的鍵值存放區，並於稍後在其中新增鍵值對。

**注意**  
如果您從 Amazon S3 儲存貯體指定資料來源，就必須擁有該儲存貯體的 `s3:GetObject` 和 `s3:GetBucketLocation` 許可權限。如果您沒有這些許可權限，CloudFront 就無法成功建立您的鍵值存放區。

請決定是否要在建立鍵值存放區的同時新增鍵值對。您可以使用 CloudFront 主控台、CloudFront API 或 AWS SDKs匯入金鑰/值對。不過您只能在*最初*建立鍵值存放區時匯入鍵值對檔案。

若要建立鍵值對檔案，請參閱 [鍵值對的檔案格式](kvs-with-functions-create-s3-kvp.md)。

------
#### [ Console ]

**建立鍵值存放區**

1. 登入 ， AWS 管理主控台 並在位於 的 CloudFront 主控台中開啟**函數**頁面[https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions)。

1. 選擇 **KeyValueStores** 索引標籤，然後選擇**建立 KeyValueStore**。

1. 輸入鍵值存放區的名稱，以及選擇性的描述。

1. 完成 **S3 URI**：
   + 如果您有鍵值對檔案，請輸入您存放該檔案的 Amazon S3 儲存貯體路徑。
   + 如果您打算手動輸入鍵值對，請將此欄位保留空白。

1. 選擇**建立**。鍵值存放區現已建立。

   此時會顯示新鍵值存放區的詳細資訊頁面。頁面上的資訊包括鍵值存放區的 ID 和 ARN。
   + ID 是在您 中唯一的隨機字元字串 AWS 帳戶。
   + ARN 具有以下語法：

     *AWS 帳戶*`:key-value-store/`* 鍵值存放區 ID*

1. 請查看**鍵值對**區段。如果您匯入檔案，此區段會顯示一些鍵值對。您可以執行下列動作：
   + 如果您匯入了檔案，也可以手動新增更多值。
   + 如果您沒有從 Amazon S3 儲存貯體匯入檔案，而且現在想要新增鍵值對，則可以完成下個步驟。
   + 您可以略過此步驟，稍後再新增鍵值對。

1. 立即新增鍵值對：

   1. 選擇**新增鍵值對**。

   1. 選擇**新增配對**，然後輸入名稱和值。若要新增更多配對，請重複此步驟。

   1. 完成後，選擇**儲存變更**以儲存鍵值存放區中的所有鍵值對。在出現的對話方塊中選擇**完成**。

1. 如果您要立即將鍵值存放區與函數相關聯，請完成**關聯函數**區段。如需詳細資訊，請參閱 [建立函數](create-function.md) 或 [更新函數](update-function.md) 。

   您也可以稍後從此鍵值存放區詳細資訊頁面或從函數詳細資訊頁面與函數建立關聯。

------
#### [ AWS CLI ]

**建立鍵值存放區**
+ 您可執行下列命令來建立鍵值存放區，並從 Amazon S3 儲存貯體匯入鍵值對。

  ```
  aws cloudfront create-key-value-store \
      --name=keyvaluestore1 \
      --comment="This is my key value store file" \
      --import-source=SourceType=S3,SourceARN=arn:aws:s3:::amzn-s3-demo-bucket1/kvs-input.json
  ```

  **回應**

  ```
  {
      "ETag": "ETVABCEXAMPLE",
      "Location": "https://cloudfront.amazonaws.com/2020-05-31/key-value-store/arn:aws:cloudfront::123456789012:key-value-store/8aa76c93-3198-462c-aaf6-example",
      "KeyValueStore": {
          "Name": "keyvaluestore1",
          "Id": "8aa76c93-3198-462c-aaf6-example",
          "Comment": "This is my key value store file",
          "ARN": "arn:aws:cloudfront::123456789012:key-value-store/8aa76c93-3198-462c-aaf6-example",
          "Status": "PROVISIONING",
          "LastModifiedTime": "2024-08-06T22:19:10.813000+00:00"
      }
  }
  ```

------
#### [ API ]

**建立鍵值存放區**

1. 使用 [CloudFront CreateKeyValueStore](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateKeyValueStore.html) 操作。該操作需要幾個參數：
   + 鍵值存放區的 `name`。
   + 包含註解的 `comment` 參數。
   + 可讓您從存放在 Amazon S3 儲存貯體的檔案匯入鍵值對的 `import-source` 參數。您只能在第一次建立鍵值存放區時從檔案匯入。如需檔案結構的相關資訊，請參閱 [鍵值對的檔案格式](kvs-with-functions-create-s3-kvp.md)。

操作回應包含下列資訊：
+ 請求中傳遞的值，包括您指派的名稱。
+ 建立時間等資料。
+ `ETag` (例如 `ETVABCEXAMPLE`) 為包含鍵值存放區名稱的 ARN (例如 `arn:aws:cloudfront::123456789012:key-value-store/keyvaluestore1`)。

  您將使用 `ETag`、ARN 和名稱的某些組合，以程式設計方式處理鍵值存放區。

------

## 鍵值存放區狀態
<a name="key-value-store-status"></a>

您建立鍵值存放區時，資料存放區可能有下列狀態值。


****  

| Value | Description | 
| --- | --- | 
|  **佈建**  |  鍵值存放區已建立，CloudFront 正在處理您指定的資料來源。  | 
|  **備妥**  |  鍵值存放區已建立，CloudFront 已成功處理您指定的資料來源。  | 
|  **匯入失敗**  |  CloudFront 無法處理您指定的資料來源。如果您的檔案格式無效或超過大小限制，就會出現此狀態。如需詳細資訊，請參閱[鍵值對的檔案格式](kvs-with-functions-create-s3-kvp.md)。  | 