Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden Sie Schlüssel-Wert-Paare in einer Funktion
Sie können Schlüssel-Wert-Paare aus einem Schlüsselwertspeicher in einer Funktion verwenden.
Das Beispiel zeigt eine Funktion, die anhand des Inhalts von URL in der HTTP Anforderung nach einem benutzerdefinierten Pfad im Schlüsselwertspeicher sucht. CloudFront verwendet dann diesen benutzerdefinierten Pfad, um die Anfrage zu stellen. Diese Funktion hilft bei der Verwaltung der verschiedenen Pfade, die Teil einer Website sind.
Wenn beispielsweise der frühere Blog einen Herkunftspfad /blog-v1
und der neue Blog einen Herkunftspfad hat/blog-v2
, kann diese Funktion den URL Pfad der eingehenden Anfrage nachschlagen und den URL Pfad (/blog-v1)
zur neuen Version des Blogs (/blog-v2)
neu schreiben.
Anmerkung
Sie müssen JavaScript Runtime 2.0 für das folgende Codebeispiel verwenden.
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; }