View a markdown version of this page

Creazione di funzioni - 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à.

Creazione di funzioni

La creazione di una funzione avviene in due fasi:

  1. Crea il codice della funzione come JavaScript. Puoi usare l'esempio predefinito dalla CloudFront console o scriverne uno tuo. Per ulteriori informazioni, consulta i seguenti argomenti:

  2. CloudFront Utilizzatelo per creare la funzione e includere il codice. Il codice è presente all'interno della funzione (non come riferimento).

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

  2. Scegli Crea funzione.

  3. Inserisci un nome di funzione univoco all'interno di Account AWS, scegli la JavaScript versione, quindi scegli Continua. Viene visualizzata la pagina dei dettagli relativa alla nuova funzione.

    Nota

    Per utilizzare coppie chiave-valore nella funzione, è necessario scegliere JavaScript runtime 2.0.

    Se riscontrate un errore TaggingConflict (HTTP 409) durante la creazione di una funzione con tag, aspettate qualche minuto e riprovate oppure create la funzione senza tag inizialmente e aggiungeteli in seguito.

  4. Nella sezione Codice funzione, scegli la scheda Compila e immetti il codice funzione. Il codice di esempio incluso nella scheda Compila illustra la sintassi di base del codice funzione.

  5. Scegli Save changes (Salva modifiche).

  6. Se il codice funzione utilizza coppie chiave-valore, è necessario associare un archivio di valori delle chiavi.

    Puoi associare l’archivio di valori delle chiavi al momento della creazione della funzione. In alternativa, puoi associarlo in un secondo momento aggiornando la funzione.

    Per associare subito un archivio di valori delle chiavi, procedi come segue:

    • Vai alla KeyValueStore sezione Associa e scegli Associa esistente. KeyValueStore

    • Seleziona l'archivio chiave-valore che contiene le coppie chiave-valore nella funzione, quindi scegli Associa. KeyValueStore

    CloudFront associa immediatamente l'archivio alla funzione. Non è necessario salvare la funzione.

CLI

Con la CLI, in genere si crea prima il codice funzione in un file e poi si crea la funzione con AWS CLI.

Per creare una funzione
  1. Crea il codice funzione in un file e memorizzalo in una directory a cui il computer può connettersi.

  2. Esegui il comando come mostrato nell'esempio. Questo esempio utilizza la notazione fileb:// per passare il file. Include anche interruzioni di riga per rendere il comando più leggibile.

    aws cloudfront create-function \ --name MaxAge \ --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \ --function-code fileb://function-max-age-v1.js
    Note
    • Runtime— La versione di. JavaScript Per utilizzare coppie chiave-valore nella funzione, è necessario specificare la versione 2.0.

    • KeyValueStoreAssociations: se la funzione utilizza coppie chiave-valore, puoi associare l’archivio dei valori delle chiavi al momento della creazione della funzione. In alternativa, puoi associarlo in un secondo momento utilizzando update-function. Il valore Quantity è sempre 1 perché a ogni funzione può essere associato un solo archivio di valori delle chiavi.

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

    ETag: ETVABCEXAMPLE FunctionSummary: FunctionConfig: Comment: Max Age 2 years 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-11-19T20:38:56.915000+00:00' Stage: DEVELOPMENT Name: MaxAge Status: UNPUBLISHED Location: https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront:::function/MaxAge

    La maggior parte delle informazioni viene ripetuta dalla richiesta. Altre informazioni sono state aggiunte da CloudFront.

    Note
    • ETag: questo valore cambia a ogni modifica dell’archivio di valori delle chiavi. Utilizza questo valore e il nome della funzione per fare riferimento alla funzione in futuro. Assicurati di utilizzare sempre l’ETag corrente.

    • FunctionARN— L'ARN per la tua CloudFront funzione.

    • 111122223333 — Il. Account AWS

    • Stage: la fase della funzione (LIVE o DEVELOPMENT).

    • Status: lo stato della funzione (PUBLISHED o UNPUBLISHED).

Dopo aver creato la funzione, viene aggiunta alla fase DEVELOPMENT. Ti consigliamo di provare la funzione prima di pubblicarla. Dopo aver pubblicato la funzione, questa passa alla fase LIVE.

TaggingConflict errore durante la creazione di funzioni

CloudFront Riutilizzo delle funzioni ARNs per funzioni con lo stesso nome. È possibile che si verifichi un errore TaggingConflict (HTTP 409) durante la creazione di una funzione con tag. Ciò può verificarsi nei seguenti scenari:

  • Dopo l'eliminazione di una funzione: ricreazione di una funzione con lo stesso nome e gli stessi tag subito dopo l'eliminazione.

  • Dopo un tentativo di creazione fallito: se una richiesta di creazione precedente non è riuscita (ad esempio, a causa di parametri non validi, associazione KVS non valida o rollback dello stack fallito). CloudFormation

Se ricevi un TaggingConflict errore, puoi:

  • Attendi qualche minuto e riprova l'operazione.

  • Usa un nome di funzione diverso. In questo modo si evita completamente il conflitto di riutilizzo dell'ARN.

  • Se il modello crea sia una KeyValueStore funzione che vi fa riferimento, aggiungete un valore esplicito DependsOn per assicurarvi che il KVS sia completamente fornito prima della creazione della funzione.