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à.
Implementazione di funzioni Lambda per Go con gli archivi di file .zip
Questa pagina descrive come compilare la funzione Rust e quindi distribuire il binario compilato su Cargo Lambda AWS Lambda
Sections
Prerequisiti
Compilazione di funzioni Rust su macOS, Windows o Linux
I passaggi seguenti mostrano come creare il progetto per la prima funzione Lambda con Rust e compilarlo con Cargo Lambda, un'estensione open source di terze parti dello strumento da riga di comando Cargo che semplifica la creazione e l'implementazione di funzioni Rust Lambda
-
Installa Cargo Lambda
, un'estensione open source di terze parti per lo strumento da riga di comando Cargo che semplifica la creazione e l'implementazione di funzioni Rust Lambda: cargo install cargo-lambdaPer altre opzioni di installazione, consulta Installazione
nella documentazione di Cargo Lambda. -
Crea la struttura del pacchetto. Questo comando crea un codice di funzione di base in
src/main.rs. A fini di test, puoi utilizzare questo codice o sostituirlo con il tuo codice personalizzato.cargo lambda newmy-function -
All'interno della directory principale del pacchetto, esegui il sottocomando build
per compilare il codice nella funzione. cargo lambda build --release(Facoltativo) Se vuoi usare AWS Graviton2 su Lambda, aggiungi il
--arm64flag per compilare il codice per ARM. CPUscargo lambda build --release --arm64 -
Prima di distribuire la funzione Rust, configura le credenziali sulla tua macchina. AWS
aws configure
Implementazione del file binario di funzioni Rust con Cargo Lambda
Utilizza il sottocomando deploy
cargo lambda deploymy-function
Distribuzione del file binario della funzione Rust con AWS CLI
Puoi anche distribuire il tuo file binario con. AWS CLI
-
Per compilare il pacchetto di implementazione .zip, utilizza il sottocomando build
. cargo lambda build --release --output-format zip -
Per implementare il pacchetto .zip su Lambda, eseguire il comando create-function
. -
Per
--runtime, specificareprovided.al2023. Questo è un runtime solo per il sistema operativo. I runtime solo per il sistema operativo vengono utilizzati per distribuire file binari compilati e runtime personalizzati su Lambda. -
Per
--role, specifica l'ARN del ruolo di esecuzione.
aws lambda create-function \ --function-namemy-function\ --runtimeprovided.al2023\ --rolearn:aws:iam::111122223333:role/lambda-role\ --handler rust.handler \ --zip-file fileb://target/lambda/my-function/bootstrap.zip -
Distribuzione del binario della funzione Rust con la CLI AWS SAM
Puoi anche distribuire il tuo file binario con la AWS SAM CLI.
-
Crea un AWS SAM modello con la definizione delle risorse e delle proprietà. Per
Runtime, specificareprovided.al2023. Questo è un runtime solo per il sistema operativo. I runtime solo per il sistema operativo vengono utilizzati per distribuire file binari compilati e runtime personalizzati su Lambda.Per ulteriori informazioni sulla distribuzione delle funzioni Lambda AWS SAM utilizzando, AWS::Serverless::Functionconsulta la Guida per AWS Serverless Application Model gli sviluppatori.
Esempio Definizione di risorse e proprietà SAM per un file binario Rust
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: SAM template for Rust binaries Resources: RustFunction: Type: AWS::Serverless::Function Properties: CodeUri: target/lambda/my-function/ Handler: rust.handler Runtime: provided.al2023 Outputs: RustFunction: Description: "Lambda Function ARN" Value: !GetAtt RustFunction.Arn -
Utilizza il sottocomando build
per compilare la funzione. cargo lambda build --release -
Utilizza il comando sam deploy per implementare la funzione su Lambda.
sam deploy --guided
Per ulteriori informazioni sulla creazione di funzioni Rust con la AWS SAM CLI, consulta Creazione di funzioni Rust Lambda con Cargo Lambda nella Developer Guide.AWS Serverless Application Model
Richiamo della funzione Rust con Cargo Lambda
Utilizza il sottocomando invoke
cargo lambda invoke --remote --data-ascii '{"command": "Hello world"}'my-function
Invocare la funzione Rust con AWS CLI
Puoi anche usare il AWS CLI per richiamare la funzione.
aws lambda invoke --function-namemy-function--cli-binary-format raw-in-base64-out --payload '{"command": "Hello world"}' /tmp/out.txt
L'cli-binary-formatopzione è obbligatoria se si utilizza la AWS CLI versione 2. Per rendere questa impostazione come predefinita, esegui aws configure set cli-binary-format raw-in-base64-out. Per ulteriori informazioni, consulta la pagina AWS CLI supported global command line options nella Guida per l'utente di AWS Command Line Interface versione 2.