Metodi helper per archivi di valori delle chiavi - 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à.

Metodi helper per archivi di valori delle chiavi

Nota

Le chiamate al metodo di supporto Key Value Store da CloudFront Functions non attivano un evento di AWS CloudTrail dati. Questi eventi non vengono registrati nella cronologia degli CloudTrail eventi. Per ulteriori informazioni, consulta Registrazione di log delle chiamate API Amazon CloudFront utilizzando AWS CloudTrail.

Questa sezione si applica se utilizzi CloudFront Key Value Store per includere valori chiave nella funzione che crei. CloudFront Functions ha un modulo che fornisce tre metodi di supporto per leggere i valori dall'archivio di valori chiave.

Per utilizzare questo modulo nel codice della funzione, assicurati di aver associato un archivio di valori delle chiavi alla funzione.

Quindi, includi le seguenti istruzioni nelle prime righe del codice della funzione:

import cf from 'cloudfront'; const kvsHandle = cf.kvs();

Metodo get()

Utilizza questo metodo per restituire il valore della chiave per il nome chiave specificato.

Richiesta

get("key", options);
  • key: il nome della chiave di cui è necessario recuperare il valore

  • options: è presente un’opzione, format. Assicura che la funzione analizzi correttamente i dati. Valori possibili:

    • string: (Predefinito) UTF8 codificato

    • json

    • bytes: buffer di dati binari non elaborati

Esempio di richiesta

const value = await kvsHandle.get("myFunctionKey", { format: "string"});

Risposta

La risposta è una promise che si risolve in un valore nel formato richiesto utilizzando options. Per impostazione predefinita, il valore viene restituito come stringa.

Gestione degli errori

Il metodo get() restituirà un errore quando la chiave richiesta non esiste nell’archivio di valori delle chiavi associato. Per gestire questo caso d’uso, puoi aggiungere un blocco catch e try al codice.

avvertimento

L’uso dei combinatori di promesse (ad esempio, Promise.all, Promise.any) e dei metodi di catena di promesse (ad esempio, then e catch) può richiedere un elevato utilizzo della memoria delle funzioni. Se la funzione supera la quota massima di memoria delle funzioni, non verrà eseguita. Per evitare questo errore, ti consigliamo di utilizzare la sintassi await in modo sequenziale o in loop per richiedere più valori.

Esempio

var value1 = await kvs.get('key1'); var value2 = await kvs.get('key2');

Attualmente, l’uso dei combinatori di promesse per ottenere più valori non migliora le prestazioni, come nell’esempio seguente.

var values = await Promise.all([kvs.get('key1'), kvs.get('key2'),]);

Metodo exists()

Utilizza questo metodo per verificare se la chiave è presente o meno nell’archivio di valori delle chiavi.

Richiesta

exists("key");

Esempio di richiesta

const exist = await kvsHandle.exists("myFunctionkey");

Risposta

La risposta è un promise che restituisce un valore booleano (true o false). Questo valore specifica se la chiave esiste o meno nell’archivio di valori delle chiavi.

Metodo meta()

Utilizza questo metodo per restituire i metadati relativi all’archivio di valori delle chiavi.

Richiesta

meta();

Esempio di richiesta

const meta = await kvsHandle.meta();

Risposta

La risposta è un valore promise che si risolve in un oggetto con le seguenti proprietà:

  • creationDateTime: la data e l'ora di creazione dell'archivio di valori delle chiavi, nel formato ISO 8601.

  • lastUpdatedDateTime: la data e l'ora dell'ultima sincronizzazione dell'archivio di valori delle chiavi, nel formato ISO 8601. Il valore non include il tempo di propagazione verso l'edge.

  • keyCount: il numero totale di chiavi in KVS dopo l'ultima sincronizzazione dalla sorgente.

Esempio di risposta

{keyCount:3,creationDateTime:2023-11-30T23:07:55.765Z,lastUpdatedDateTime:2023-12-15T03:57:52.411Z}