使用關鍵值資料 - Amazon CloudFront

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

使用關鍵值資料

本主題說明如何將鍵值配對新增至現有的索引鍵值存放區。若要在最初建立索引鍵值存放區時包含鍵值配對,請參閱建立金鑰值存放區

使用主 CloudFront 控台處理索引鍵值配對

您可以使用 CloudFront 控制台來處理鍵值對。

使用鍵值配對的步驟
  1. 登入 AWS Management Console 並在主 CloudFront 控台中開啟「功能」頁面,位於https://console.aws.amazon.com/cloudfront/v4/home#/functions

  2. 選擇 (KeyValueStores) 索引標籤。

  3. 選擇您想要變更的鍵值存放區。

  4. 在 [金鑰值配對] 區段中,選擇 [編輯]。

  5. 您可以新增鍵值配對、刪除鍵值組,或變更現有索引鍵值配對的值。

  6. 完成時,請選擇儲存變更

以編程方式使用鍵值對

請按照本節以編程方式使用鍵值對。

獲取對鍵值存儲的引用

當您使用 CloudFront KeyValueStore API 呼叫寫入作業時,您需要指定金鑰值存放區的 ARN 和 ETag。若要取得此資料,請執行下列動作:

若要取得索引鍵值存放區的參考
  1. 使用 CloudFront ListKeyValueStoresAPI 作業取得金鑰值存放區的清單。尋找您要變更的金鑰值存放區。

  2. 使用 CloudFrontKeyValueStore DescribeKeyValueStoreAPI 作業並指定先前步驟中的金鑰值存放區。

    注意

    該 CloudFront KeyValueStore API 具有與 CloudFront API 不同的命名空間。

    對於步驟 2,請使用 CloudFront KeyValueStoreAPI 中的DescribeKeyValueStore操作,而不是 CloudFront API 中的操作。如需詳細資訊,請參閱 關於 CloudFront KeyValueStore

    回應包括 ARN 和鍵值存放區的 ETag。

    • ARN 包括 AWS 帳戶 數字、常數和 UUIDkey-value-store,例如下列範例:

      arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

    • 一個 ETag,看起來像下面的例子:

      ETVABCEXAMPLE2

更改鍵值存儲中的鍵值對

您可以指定包含要更新的鍵值對的索引鍵值存放區。

請參閱下列 CloudFront KeyValueStore API 作業:

關於 CloudFront KeyValueStore

當您使用索引鍵值存放區及其鍵值對時,您呼叫的服務取決於您的使用案例:

  • 若要在現有的索引鍵值存放區中以程式設計方式處理索引鍵值配對,請使用 CloudFront KeyValueStore服務。

  • 若要在最初建立索引鍵值存放區時在索引鍵值存放區中包含索引鍵值配對,請使用 CloudFront 服務。

CloudFront API 和 API 都有一個DescribeKeyValueStore操作。 CloudFront KeyValueStore 若要瞭解差異,請參閱下表。

CloudFront DescribeKeyValueStore API CloudFront KeyValueStore DescribeKeyValueStoreAPI
關於金鑰值存放區的資料

返回數據,例如密鑰值存儲本身上次修改的狀態和日期。

返回有關存儲資源的內容的數據-存儲中的鍵值對,以及內容的大小。

識別索引鍵值存放區的資料

返回一個 ETag,UUID 和鍵值存儲的 ARN。

返回一個 ETag 和鍵值存儲的 ARN。

注意

每個DescribeKeyValueStore操作返回一個不同的 ETag。該 ETag 是不可互換的。

當您呼叫 API 作業來完成動作時,您必須從適當的 API 指定 ETag。例如,在CloudFrontKeyValueStore DeleteKey作業中,您可以指定從CloudFront KeyValueStoreDescribeKeyValueStore作業傳回的 ETag。

範例程式碼 CloudFront KeyValueStore

下列程式碼會示範如何呼叫金鑰值存放區的 DescribeKeyValueStore API 作業。

const { CloudFrontKeyValueStoreClient, DescribeKeyValueStoreCommand, } = require("@aws-sdk/client-cloudfront-keyvaluestore"); require("@aws-sdk/signature-v4-crt"); (async () => { try { const client = new CloudFrontKeyValueStoreClient({ region: "us-east-1" }); const input = { KvsARN: "arn:aws:cloudfront::123456789012:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", }; const command = new DescribeKeyValueStoreCommand(input); const response = await client.send(command); } catch (e) { console.log(e); } })();