使用關鍵值資料 - Amazon CloudFront

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

使用關鍵值資料

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

使用鍵值對(控制台)

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

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

  2. 選擇索KeyValueStores引標籤。

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

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

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

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

關於 CloudFront KeyValueStore

提示

這 CloudFront KeyValueStore API是一項使用簽名版本 4A (SigV4a) 進行驗證的全域服務。將臨時憑據與 SigV4a 一起使用需要版本 2 的會話令牌。如需詳細資訊,請參閱搭配 使用臨時憑證 CloudFront KeyValueStore API

如果您使用 AWS Command Line Interface (AWS CLI) 或您自己的程式碼來呼叫 CloudFront KeyValueStore API,請參閱下列各節。

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

  • 若要使用現有索引鍵值存放區中的鍵值配對,請使用 CloudFront KeyValueStore 服務。

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

CloudFront API和都 CloudFront KeyValueStore API有一個DescribeKeyValueStore操作。你打電話給他們不同的原因。若要瞭解差異,請參閱下表。

CloudFront DescribeKeyValueStore API CloudFront KeyValueStore DescribeKeyValueStore API
關於鍵值存儲的數據

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

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

識別金鑰值存放區的資料

ETag回索引鍵值存放區ARN的UUID、和。

傳回ETag與ARN的索引鍵值存放區。

備註
  • 每個DescribeKeyValueStore操作返回一個不同ETagETags不可互換。

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

使用鍵值對()AWS CLI

您可以針對執行下列 AWS Command Line Interface 命令 CloudFront KeyValueStore。

列出鍵值對

若要列出金鑰值存放區中的鍵值配對,請執行下列命令。

aws cloudfront-keyvaluestore list-keys \ --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example

回應

{ "Items": [ { "Key": "key1", "Value": "value1" } ] }

獲取鍵值對

若要在金鑰值存放區中取得索引鍵值組,請執行下列命令。

aws cloudfront-keyvaluestore get-key \ --key=key1 \ --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example

回應

{ "Key": "key1", "Value": "value1", "ItemCount": 1, "TotalSizeInBytes": 11 }

描述一個關鍵值存儲

若要描述索引鍵值存放區,請執行下列命令。

aws cloudfront-keyvaluestore describe-key-value-store \ --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example

回應

{ "ETag": "KV1F83G8C2ARO7P", "ItemCount": 1, "TotalSizeInBytes": 11, "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example", "Created": "2024-05-08T07:48:45.381000-07:00", "LastModified": "2024-08-05T13:50:58.843000-07:00", "Status": "READY" }

創建鍵值對

若要在金鑰值存放區中建立索引鍵值組,請執行下列命令。

aws cloudfront-keyvaluestore put-key \ --if-match=KV1PA6795UKMFR9 \ --key=key2 \ --value=value2 \ --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example

回應

{ "ETag": "KV13V1IB3VIYZZH", "ItemCount": 3, "TotalSizeInBytes": 31 }

刪除鍵值對

若要刪除鍵值配對,請執行下列命令。

aws cloudfront-keyvaluestore delete-key \ --if-match=KV13V1IB3VIYZZH \ --key=key1 \ --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example

輸出

{ "ETag": "KV1VC38T7YXB528", "ItemCount": 2, "TotalSizeInBytes": 22 }

更新鍵值對

您可以使用指update-keys令來更新多個機碼-值配對。例如,若要刪除現有的索引鍵值組並建立另一個索引鍵值組,請執行下列命令。

aws cloudfront-keyvaluestore update-keys \ --if-match=KV2EUQ1WTGCTBG2 \ --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example \ --deletes '[{"Key":"key2"}]' \ --puts '[{"Key":"key3","Value":"value3"}]'

回應

{ "ETag": "KV3AEGXETSR30VB", "ItemCount": 3, "TotalSizeInBytes": 28 }

使用鍵值對()API

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

獲取對鍵值存儲的引用

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

取得索引鍵值存放區的參考的步驟
  1. 使用該CloudFront ListKeyValueStoresAPI操作獲取鍵值存儲的列表。尋找您要變更的金鑰值存放區。

  2. 使用該CloudFrontKeyValueStore DescribeKeyValueStoreAPI操作並指定上一步中的鍵值存儲庫。

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

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

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

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

      ETVABCEXAMPLE2

更改鍵值存儲中的鍵值對

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

請參閱下列 CloudFront KeyValueStore API操作:

範例程式碼 CloudFront KeyValueStore

下列程式碼示範如何呼叫索引鍵值存放區的DescribeKeyValueStoreAPI作業。

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); } })();