Funzioni di test - 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à.

Funzioni di test

Prima di implementare la funzione nella fase live (produzione), puoi testarla per verificare che funzioni come previsto. Per testare una funzione, specificate un oggetto evento che rappresenta una richiesta o una risposta HTTP che la CloudFront distribuzione potrebbe ricevere in produzione.

CloudFront Functions esegue le seguenti operazioni:

  1. Esegue la funzione, utilizzando l'oggetto evento fornito come input.

  2. Restituisce il risultato della funzione (l'oggetto evento modificato) insieme a tutti i registri delle funzioni o messaggi di errore e l'utilizzo del calcolo della funzione. Per ulteriori informazioni sull’utilizzo delle capacità di calcolo, consultare Comprendi l'utilizzo del calcolo.

Impostazione dell'oggetto evento

Prima di testare una funzione, è necessario impostare l'oggetto evento per testarlo. Sono disponibili diverse opzioni.

Opzione 1: impostazione di un oggetto evento senza salvarlo

È possibile configurare un oggetto evento nell'editor visivo della CloudFront console e non salvarlo.

È possibile utilizzare questo oggetto evento per testare la funzione dalla CloudFront console, anche se non è stato salvato.

Opzione 2: creazione di un oggetto evento nell'editor visuale

È possibile configurare un oggetto evento nell'editor visivo della CloudFront console e non salvarlo. È possibile creare 10 oggetti evento per ogni funzione, ad esempio per testare diversi input possibili.

Quando create l'oggetto evento in questo modo, potete utilizzare l'oggetto evento per testare la funzione nella CloudFront console. Non puoi usarlo per testare la funzione utilizzando un' AWS API o un SDK.

Opzione 3: creazione di un oggetto evento utilizzando un editor di testo

Puoi utilizzare un editor di testo per creare un oggetto evento in formato JSON. Per informazioni sulla struttura di un oggetto evento, consulta Struttura degli eventi.

Puoi utilizzare l'oggetto evento per testare la funzione utilizzando la CLI. Ma non puoi usarlo per testare la funzione nella CloudFront console.

Per creare un oggetto evento (opzione 1 o 2)
  1. Accedi alla CloudFront console all'indirizzo https://console.aws.amazon.com/cloudfront/v4/home#/functions e scegli la pagina Funzioni.

    Scegli la funzione che desideri testare.

  2. Nella pagina dei dettagli della funzione, seleziona la scheda Test.

  3. Per Tipo di evento, scegliete una delle seguenti opzioni:

    • Se la funzione modifica una richiesta HTTP o genera una risposta in base alla richiesta, scegli Richiesta visualizzatore. Viene visualizzata la sezione Richiesta.

    • Scegli la risposta del visualizzatore. Vengono visualizzate le sezioni Richiesta e Risposta.

  4. Compila i campi da includere nell'evento. Puoi scegliere Modifica JSON per visualizzare il file JSON non elaborato.

  5. (Facoltativo) Per salvare l'evento, scegliete Salva e nel campo Salva evento di test, inserite un nome, quindi scegliete Salva.

    Puoi anche scegliere Modifica JSON e copiare il file JSON non elaborato e salvarlo nel tuo file, all'esterno di. CloudFront

Per creare un oggetto evento (opzione 3)

Crea l'oggetto evento utilizzando un editor di testo. Archivia il file in una directory a cui il tuo computer può connettersi.

Verifica di seguire queste linee guida:

  • Ometti i campi distributionDomainName, distributionId e requestId.

  • I nomi delle intestazioni, dei cookie e delle stringhe di query devono essere in minuscolo.

Per creare un oggetto evento in questo modo è possibile creare un esempio utilizzando l'editor visuale. Hai così la certezza che l'esempio sia formattato correttamente. Puoi copiare il codice JSON non elaborato, incollarlo in un editor di testo e salvare il file.

Per ulteriori informazioni sulla struttura di un evento, vedere. Struttura degli eventi

Test della funzione

È possibile testare una funzione nella CloudFront console o con AWS Command Line Interface (AWS CLI).

Console
Per testare la funzione
  1. Accedi alla CloudFront console all'indirizzo https://console.aws.amazon.com/cloudfront/v4/home#/functions e scegli la pagina Funzioni.

  2. Scegli la funzione che desideri testare.

  3. Seleziona la scheda Test.

  4. Assicurati che venga visualizzato l'evento corretto. Per passare dall'evento attualmente visualizzato, scegli un altro evento nel campo Seleziona evento di test.

  5. Scegliete la funzione Test. La console mostra l'output della funzione, inclusi i registri delle funzioni e l'utilizzo del calcolo.

CLI

È possibile testare una funzione utilizzando il comando. aws cloudfront test-function

Per testare la funzione
  1. Aprire una finestra a riga di comando.

  2. Esegui il comando seguente dalla stessa directory che contiene il file specificato.

    Questo esempio utilizza la fileb:// notazione per passare il file dell'oggetto dell'evento. Include anche interruzioni di riga per rendere il comando più leggibile.

    aws cloudfront test-function \ --name MaxAge \ --if-match ETVABCEXAMPLE \ --event-object fileb://event-maxage-test01.json \ --stage DEVELOPMENT
    Note
    • Fai riferimento alla funzione tramite i rispettivi nomi e ETag (nel parametro if-match). Fai riferimento all'oggetto evento in base alla sua posizione nel file system.

    • La fase può essere DEVELOPMENT o LIVE.

    Se il comando viene eseguito correttamente, vedrai un output simile al seguente.

    TestResult: ComputeUtilization: '21' FunctionErrorMessage: '' FunctionExecutionLogs: [] FunctionOutput: '{"response":{"headers":{"cloudfront-functions":{"value":"generated-by-CloudFront-Functions"},"location":{"value":"https://aws.amazon.com/cloudfront/"}},"statusDescription":"Found","cookies":{},"statusCode":302}}' FunctionSummary: FunctionConfig: Comment: MaxAge function Runtime: cloudfront-js-2.0 KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \ FunctionMetadata: CreatedTime: '2021-04-18T20:38:56.915000+00:00' FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge LastModifiedTime: '2023-17-20T10:38:57.057000+00:00' Stage: DEVELOPMENT Name: MaxAge Status: UNPUBLISHED
Note
  • FunctionExecutionLogs contiene un elenco di righe di log che la funzione ha scritto nelle istruzioni console.log() (se presenti).

  • ComputeUtilizationcontiene informazioni sull'esecuzione della funzione. Per informazioni, consulta Comprendi l'utilizzo del calcolo.

  • FunctionOutput contiene l'oggetto evento restituito dalla funzione.

Comprendi l'utilizzo del calcolo

Compute utilization (Utilizzo del calcolo) è la quantità di tempo impiegata per l'esecuzione della funzione come percentuale del tempo massimo consentito. Ad esempio, un valore pari a 35 significa che la funzione è stata completata nel 35% del tempo massimo consentito.

Se una funzione supera continuamente il tempo massimo consentito, limita la funzione CloudFront . L'elenco seguente illustra la probabilità che una funzione venga limitata in base al valore di utilizzo del calcolo.

Valore di utilizzo del calcolo:

  • Da 1 a 50: la funzione è comodamente al di sotto del tempo massimo consentito e dovrebbe funzionare senza limitazione (della larghezza di banda della rete).

  • Da 51 a 70: la funzione si sta avvicinando al tempo massimo consentito. Prendere in considerazione l'ottimizzazione del codice della funzione.

  • 71-100: la funzione è molto vicina o supera il tempo massimo consentito. CloudFront è probabile che limiti questa funzione se la si associa a una distribuzione.