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 Gestione delle dipendenze Lambda con i livelli.
Dopo aver impacchettato il contenuto del layer, il passaggio successivo è creare il layer 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 AWS CloudFormation con strati. 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). Quando effettui il caricamento da Amazon S3, puoi scegliere se Lambda copia il codice nello Lambda-managed storage o vi fa riferimento direttamente dal bucket S3. Per ulteriori informazioni, consulta Self-managed Archiviazione del codice 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)
-
Apri la pagina Layers
(Livelli) nella console Lambda. -
Scegli Create layer (Crea livello).
-
In Layer configuration (Configurazione livello), per Nome, immettere un nome del livello.
-
(Facoltativo) In Description (Descrizione), immetti una descrizione per il livello.
-
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.
-
-
Se hai scelto di caricare da Amazon S3, in modalità di archiviazione del codice, scegli una delle seguenti opzioni:
-
Modalità di copia (predefinita)
-
Modalità di riferimento
-
-
(Facoltativo) Per Architetture compatibili, scegli un valore o entrambi i valori. Per ulteriori informazioni, consulta Selezione e configurazione di un'architettura di set di istruzioni per la funzione Lambda.
-
(Facoltativo) Per Runtime compatibili, scegli i runtime con cui il tuo livello è compatibile.
-
(Facoltativo) Per Licenza, inserisci tutte le informazioni necessarie sulla licenza.
-
Scegli Create (Crea).
In alternativa, è possibile eseguire il comando publish-layer-version S3ObjectStorageMode=REFERENCE di codice S3 autogestito oppure omettilo (impostazione predefinita) per utilizzare lo storage. COPY Lambda-managed Esempio:
aws lambda publish-layer-version --layer-namemy-layer--zip-file fileb://layer.zip --compatible-runtimespython3.14
Ogni volta che esegui publish-layer-version, viene creata una nuova versione del livello.
Eliminazione della versione di un livello
Per eliminare una versione a livelli, utilizza l'operazione API. DeleteLayerVersion Ad esempio, eseguite il AWS CLI comando
aws lambda delete-layer-version --layer-name my-layer --version-number 1
Quando si elimina una versione del livello, non è più possibile configurare nuove funzioni per utilizzarla. Tuttavia, qualsiasi funzione che fa già riferimento alla versione del livello eliminata continua a essere eseguita con il contenuto di quel livello. Lambda non riutilizza mai i numeri di versione per il nome di un livello.
Impatto sulla quota di archiviazione dell'eliminazione dei livelli
L'impatto sulla quota di archiviazione dell'eliminazione di una versione del livello dipende dalla modalità di archiviazione utilizzata dal livello e dalle funzioni che vi fanno riferimento.
- Il livello utilizza l' Lambda-managed archiviazione (COPY)
-
Quando elimini una versione del layer che utilizza l' Lambda-managed archiviazione, il codice del layer viene rimosso dalla quota di Lambda-managed archiviazione del tuo account. Tuttavia, qualsiasi funzione che fa ancora riferimento alla versione del livello eliminata continua ad avere accesso al contenuto del livello. Il contenuto del livello viene conteggiato ai fini della quota di dimensione del pacchetto di distribuzione della funzione (250 MB decompressi) ma non viene più conteggiato per la quota di archiviazione a livello di account Lambda-managed .
- Layer utilizza uno storage S3 autogestito (REFERENCE)
-
I livelli che utilizzano lo storage di codice S3 autogestito non consumano Lambda-managed spazio, pertanto la loro eliminazione non ha alcun impatto sulla quota di archiviazione. Lambda-managed Le funzioni che fanno riferimento a una versione di layer autogestita eliminata continuano a funzionare normalmente. Tuttavia, se elimini anche l'oggetto sorgente dal bucket S3 o revochi l'accesso di Lambda ad esso, non puoi più aggiornare la configurazione della funzione con quel livello.
Nota
L'eliminazione di una versione del livello non disattiva mai le funzioni che vi fanno riferimento. Le funzioni rimangono invariate Active indipendentemente dal livello utilizzato Lambda-managed o dallo storage S3 autogestito. Lo Inactive stato si applica solo quando Lambda perde l'accesso al codice sorgente di una funzione archiviato in un bucket S3 autogestito.