在 CloudFront Functions 查看器请求中使用键值对 - AWS SDK 代码示例

AWS 文档 SDK 示例 GitHub 存储库中还有更多 AWS SDK 示例。

在 CloudFront Functions 查看器请求中使用键值对

以下代码示例演示了如何在 CloudFront Functions 查看器请求中使用键值对。

JavaScript
适用于 CloudFront Functions 的 JavaScript 运行时 2.0
注意

查看 GitHub,了解更多信息。查找完整示例,并了解如何在 CloudFront Functions examples 存储库中进行设置和运行。

import cf from 'cloudfront'; // This fails if there is no key value store associated with the function const kvsHandle = cf.kvs(); // Remember to associate the KVS with your function before referencing KVS in your code. // https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/kvs-with-functions-associate.html async function handler(event) { const request = event.request; // Use the first segment of the pathname as key // For example http(s)://domain/<key>/something/else const pathSegments = request.uri.split('/') const key = pathSegments[1] try { // Replace the first path of the pathname with the value of the key // For example http(s)://domain/<value>/something/else pathSegments[1] = await kvsHandle.get(key); const newUri = pathSegments.join('/'); console.log(`${request.uri} -> ${newUri}`) request.uri = newUri; } catch (err) { // No change to the pathname if the key is not found console.log(`${request.uri} | ${err}`); } return request; }