Usa coppie chiave-valore in una funzione - Amazon CloudFront

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa coppie chiave-valore in una funzione

È possibile utilizzare coppie chiave-valore da un archivio chiave-valore in una funzione.

L'esempio mostra una funzione che utilizza il contenuto di URL nella HTTP richiesta per cercare un percorso personalizzato nell'archivio di valori chiave. CloudFront quindi utilizza quel percorso personalizzato per effettuare la richiesta. Questa funzione aiuta a gestire i percorsi multipli che fanno parte di un sito Web.

Ad esempio, se il blog precedente ha un percorso di origine /blog-v1 e il nuovo blog ha un percorso di origine/blog-v2, questa funzione può cercare il URL percorso della richiesta in arrivo e riscrivere il URL percorso (/blog-v1) della nuova versione del blog. (/blog-v2)

Nota

È necessario utilizzare JavaScript runtime 2.0 per il seguente esempio di codice.

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