键值存储的帮助程序方法
如果您使用 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"});
响应
响应是以使用 options
请求的格式解析为值的 promise
。默认情况下,此值以字符串的形式返回。
错误处理
当您请求的键在关联的键值存储中不存在时,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}