キーバリューストアのヘルパーメソッド
このセクションは、CloudFront キーバリューストアを使用して作成する関数にキー値を含める場合に適用されます。CloudFront Functions には、キーバリューストアから値を読み取る 3 つのヘルパーメソッドを提供するモジュールがあります。
このモジュールを関数コードで使用するには、関数にキーバリューストアを関連付ける必要があります。
次に、関数コードの最初の行に、以下のステートメントを含めます。
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
: 1 つのオプション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");
レスポンス
レスポンスは promise
であり、ブール値 (true
または false
) を返します。この値は、キーがキーバリューストアに存在するかどうかを示します。
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}