Compilazione di funzioni Lambda con Go
Go è implementato in modo diverso rispetto ad altri runtime gestiti. Poiché Go viene compilato nativamente in un file binario eseguibile, non richiede un runtime linguistico dedicato. Usa un runtime solo per il sistema operativo (la famiglia di runtime provided) per distribuire le funzioni Go in Lambda.
Argomenti
Supporto per il runtime Go
Il runtime gestito Go 1.x per Lambda è obsoleto. Se hai funzioni che utilizzano il runtime Go 1.x, devi eseguire la migrazione delle tue funzioni a provided.al2023 o provided.al2. I runtime provided.al2023 e provided.al2 offrono diversi vantaggi rispetto a go1.x, incluso il supporto per l'architettura arm64 (processori AWS Graviton2), file binari più piccoli e tempi di chiamata leggermente più rapidi.
Per questa migrazione, non sono necessarie modifiche al codice. Le uniche modifiche richieste riguardano la modalità di creazione del pacchetto di implementazione e il runtime utilizzato per creare la funzione. Per ulteriori informazioni, consulta Migrating AWS Lambda functions from the Go1.x runtime to the custom runtime on Amazon Linux 2
| Nome | Identificatore | Sistema operativo | Data di ritiro | Blocco creazione funzioni | Blocco aggiornamento funzioni |
|---|---|---|---|---|---|
|
Runtime solo per il sistema operativo |
|
Amazon Linux 2023 |
30 giugno 2029 |
31 luglio 2029 |
31 agosto 2029 |
|
Runtime solo per il sistema operativo |
|
Amazon Linux 2 |
30 giugno 2026 |
31 luglio 2026 |
31 agosto 2026 |
Strumenti e librerie
Lambda fornisce i seguenti strumenti e librerie per il runtime Go:
-
AWS SDK per Go v2
: k’SDK AWS ufficiale per il linguaggio di programmazione Go. -
github.com/aws/aws-lambda-go/lambda
: l'implementazione di un modello di programmazione Lambda per Go. Questo pacchetto viene utilizzato da AWS Lambda per invocare gli handler. -
github.com/aws/aws-lambda-go/lambdacontext
: gestori per l'accesso alle informazioni relative al contesto dall'oggetto contesto. -
github.com/aws/aws-lambda-go/events
: questa libreria fornisce definizioni relative alla tipologia per le integrazioni delle origini eventi comuni. -
github.com/aws/aws-lambda-go/cmd/build-lambda-zip
: questo strumento può essere utilizzato per creare un archivio file .zip su Windows.
Per ulteriori informazioni, consulta aws-lambda-go
Lambda fornisce le seguenti applicazioni di esempio per il runtime di Go: