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 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). Durante il caricamento da Amazon S3, puoi scegliere se Lambda copia il codice Lambda-managed nello storage o vi faccia riferimento direttamente dal tuo 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.
-
-
(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, puoi eseguire il comando publish-layer-versionS3ObjectStorageMode=REFERENCE includi l'utilizzo dello storage di codice S3 autogestito o omettilo (impostazione predefinitaCOPY) per utilizzare lo storage. 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 di livello, utilizza l'operazione API. DeleteLayerVersion Ad esempio, eseguite il AWS CLI comando delete-layer-version con il nome del livello e la versione
aws lambda delete-layer-version --layer-name my-layer --version-number 1
Quando si elimina una versione di livello, non è più possibile configurare nuove funzioni per utilizzarla. Tuttavia, qualsiasi funzione che fa già riferimento alla versione del livello eliminata continua a funzionare 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 derivante dall'eliminazione dei livelli
L'impatto sulla quota di archiviazione dell'eliminazione di una versione di livello dipende dalla modalità di archiviazione utilizzata dal livello e dalle funzioni che vi fanno riferimento.
- Il livello utilizza lo Lambda-managed storage (COPY)
-
Quando elimini una versione di livello che utilizza lo Lambda-managed spazio di archiviazione, il codice del livello viene rimosso dalla quota di Lambda-managed spazio di archiviazione del tuo account. Tuttavia, qualsiasi funzione che fa ancora riferimento alla versione del layer eliminata continua ad avere accesso al contenuto del layer. Il contenuto del layer viene conteggiato ai fini della quota di dimensione del pacchetto di distribuzione della funzione (250 MB decompressi), ma non viene più conteggiato ai fini della quota di archiviazione a livello di account. Lambda-managed
- Layer utilizza lo storage S3 autogestito (REFERENCE)
-
I livelli che utilizzano l'archiviazione di codice S3 autogestita non consumano spazio di Lambda-managed archiviazione, quindi la loro eliminazione non ha alcun impatto sulla quota di spazio 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 tuo bucket S3 o revochi l'accesso di Lambda ad esso, non puoi più aggiornare la configurazione delle funzioni con quel livello.
Nota
L'eliminazione di una versione di livello non disattiva mai le funzioni che vi fanno riferimento. Le funzioni rimangono Active indipendentemente dal fatto che il livello sia utilizzato Lambda-managed o lo storage S3 autogestito. Lo Inactive stato si applica solo quando Lambda perde l'accesso al codice sorgente di una funzione memorizzato in un bucket S3 autogestito.