本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
鍵值存放區的協助程式方法
如果您使用 CloudFront 鍵值存放區在您建立的函數中包含鍵值,則本節內容適用。CloudFront Functions 具有的模組可提供三種協助程式方法來讀取鍵值存放區中的值。
若要在函數程式碼中使用此模組,請確定您已將索引鍵值存放區與函數建立關聯。
接著,在函數程式碼的第一行中包含下列陳述式:
import cf from 'cloudfront'; const kvsId = "
key value store ID
"; const kvsHandle = cf.kvs(kvsId);
您的鍵值存放區 ID
看起來可能如下所示: a1b2c3d4-5678-90ab-cdef-EXAMPLE1
get()
方法
使用此方法可傳回您指定之金鑰名稱的金鑰值。
請求
get("
key
",options
);
-
key
:需要擷取其值的鍵名稱 -
options
:有一個選項:format
。它可以確保函數正確解析資料。可能的值如下:-
string
:(預設值) 以 UTF8 編碼 -
json
-
bytes
:原始二進位資料緩衝區
-
請求範例
const value = await kvsHandle.get("myFunctionKey", { format: "string"});
回應
回應是 promise
,會以使用 請求的格式解析為值options
。根據預設,值會傳回為字串。
錯誤處理
當您請求的金鑰不存在於相關聯的金鑰值存放區時, get()
方法會傳回錯誤。若要管理此使用案例,您可以將 try
和 catch
區塊新增至程式碼。
exists()
方法
使用此方法來識別金鑰值存放區中是否存在金鑰。
請求
exists("
key
");
請求範例
const exist = await kvsHandle.exists("myFunctionkey");
回應
回應是傳回布林值 (true
或 false
) promise
的 。此值會指定金鑰值存放區中是否存在金鑰。
meta()
方法
使用此方法傳回有關金鑰值存放區的中繼資料。
請求
meta();
請求範例
const meta = await kvsHandle.meta();
回應
回應是一個 promise
,可解析為具有以下屬性的物件:
-
creationDateTime
:鍵值存放區建立的日期和時間,以 ISO 8601 格式表示。 -
lastUpdatedDateTime
:上次從來源同步的鍵值存放區的日期和時間,以 ISO 8601 格式表示。該值不包括到邊緣的傳播時間。 -
keyCount
:上次從來源同步後 KVS 中的總鍵數。
回應範例
{keyCount:3,creationDateTime:2023-11-30T23:07:55.765Z,lastUpdatedDateTime:2023-12-15T03:57:52.411Z}