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 funzione come JavaScript. Puoi usare l'esempio predefinito dalla CloudFront console o scriverne uno tuo. Per ulteriori informazioni, consulta i seguenti argomenti:

  2. CloudFront Usalo 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 si verifica un errore TaggingConflict (HTTP 409) durante la creazione di una funzione con tag, attendete qualche minuto e riprovate, oppure create inizialmente la funzione senza tag e aggiungeteli successivamente.

  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 Associato 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 vengono 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 Le funzioni riutilizzano gli ARN 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: ricreare una funzione con lo stesso nome e gli stessi tag subito dopo l'eliminazione.

  • Dopo un tentativo di creazione fallito: se una precedente richiesta di creazione 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.

  • Usare un nome di funzione diverso. Ciò evita completamente il conflitto di riutilizzo dell'ARN.

  • Se il tuo modello crea KeyValueStore sia una funzione che fa riferimento ad esso, aggiungi un esplicito DependsOn per assicurarti che il KVS sia completamente predisposto prima che la funzione venga creata.