Creazione ed eliminazione di livelli in Lambda - AWS Lambda

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 ed eliminazione di livelli in Lambda

Un livello Lambda è un archivio di file .zip che può contenere codice o dati aggiuntivi. I livelli di solito contengono dipendenze dalla libreria, un runtime personalizzato o file di configurazione.

In questa sezione viene descritto come creare ed eliminare livelli in Lambda. Per ulteriori informazioni concettuali sui livelli e su come e perché utilizzarli, consulta Lavorare con i livelli Lambda.

Dopo aver creato i pacchetti del contenuto dei livelli, il passaggio successivo consiste nel creare il livello in Lambda. In questa sezione viene descritto come creare ed eliminare i livelli utilizzando solo la console Lambda o l'API Lambda. Per creare un livello utilizzando AWS CloudFormation, consulta Utilizzo di AWS CloudFormation con i livelli. Per creare un livello utilizzando AWS Serverless Application Model (AWS SAM), consulta Utilizzo di AWS SAM con i livelli.

Creazione di un livello

Per creare un livello, puoi caricare l'archivio di file con estensione .zip dal computer locale o da Amazon Simple Storage Service (Amazon S3). Lambda estrae il contenuto del livello nella directory /opt durante la configurazione dell'ambiente di esecuzione per la funzione.

I livelli possono avere una o più versioni. Quando si crea un livello, Lambda imposta la versione del livello su 1. È possibile modificare le autorizzazioni su una versione di livello esistente in qualsiasi momento. Tuttavia, per aggiornare il codice o apportare altre modifiche alla configurazione, è necessario creare una nuova versione del livello.

Creazione di un livello (console)
  1. Apri la pagina Layers (Livelli) nella console Lambda.

  2. Scegli Create layer (Crea livello).

  3. In Layer configuration (Configurazione livello), per Nome, immettere un nome del livello.

  4. (Facoltativo) In Description (Descrizione), immetti una descrizione per il livello.

  5. Per caricare il codice del livello, esegui una delle seguenti operazioni:

    • Per caricare un file con estensione .zip dal computer, scegliere Carica un file .zip. Scegli Carica per selezionare il file con estensione .zip locale.

    • Per caricare un file da Amazon S3, scegli Upload a file from Amazon S3 (Carica un file da Amazon S3). Quindi, per l'URL del link Amazon S3, immetti un collegamento al file.

  6. (Facoltativo) Per Architetture compatibili, scegli un valore o entrambi i valori. Per ulteriori informazioni, consulta Architetture del set di istruzioni Lambda (ARM/x86).

  7. (Facoltativo) Per Runtime compatibili, scegli i runtime con cui il tuo livello è compatibile.

  8. (Facoltativo) Per Licenza, inserisci tutte le informazioni necessarie sulla licenza.

  9. Scegli Crea.

In alternativa, puoi anche utilizzare l'PublishLayerVersionAPI per creare un livello. Ad esempio, puoi usare il comando publish-layer-version di AWS Command Line Interface (CLI) con un nome, una descrizione e un archivio di file .zip specificati. Le informazioni sulla licenza, i runtime compatibili e i parametri dell'architettura compatibile sono opzionali.

aws lambda publish-layer-version --layer-name my-layer \ --description "My layer" \ --license-info "MIT" \ --zip-file fileb://layer.zip \ --compatible-runtimes python3.10 python3.11 \ --compatible-architectures "arm64" "x86_64"

Verrà visualizzato un output simile al seguente:

{ "Content": { "Location": "https://awslambda-us-east-2-layers.s3.us-east-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...", "CodeSha256": "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=", "CodeSize": 169 }, "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1", "Description": "My layer", "CreatedDate": "2023-11-14T23:03:52.894+0000", "Version": 1, "CompatibleArchitectures": [ "arm64", "x86_64" ], "LicenseInfo": "MIT", "CompatibleRuntimes": [ "python3.10", "python3.11" ] }

Ogni volta che si richiama publish-layer-version, viene creata una nuova versione del livello.

Eliminazione della versione di un livello

Per eliminare una versione di livello, utilizzate l'DeleteLayerVersionAPI. Ad esempio, puoi usare il comando delete-layer-version della CLI con il nome e la versione del livello specificati.

aws lambda delete-layer-version --layer-name my-layer --version-number 1

Quando elimini la versione di un livello, non puoi più configurare una funzione Lambda per utilizzarla. Tuttavia, qualsiasi funzione che già utilizza la versione continua ad averne accesso. Inoltre, Lambda non riutilizza mai i numeri di versione per il nome di un livello.