Uso de pares clave-valor en una función - Amazon CloudFront

Uso de pares clave-valor en una función

Puede usar pares clave-valor de un almacén de clave-valor en una función.

El ejemplo muestra una función que utiliza el contenido de la URL de la solicitud HTTP para buscar una ruta personalizada en el almacén de clave-valor. A continuación, CloudFront utiliza esa ruta personalizada para realizar la solicitud. Esta función ayuda a administrar las múltiples rutas que forman parte de un sitio web.

Por ejemplo, si el blog anterior tiene la ruta de origen /blog-v1 y el nuevo tiene ruta de origen /blog-v2, esta función puede buscar la ruta URL de la solicitud entrante y reescribir la ruta de URL (/blog-v1) a la nueva versión del blog (/blog-v2).

nota

Debe usar el tiempo de ejecución de JavaScript 2.0 para la siguiente muestra de código.

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