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à.
Edificio. NETFunzioni Lambda con compilazione nativa AOT in AWS SAM
Crea e impacchetta il tuo. NET8 AWS Lambda funzioni con AWS Serverless Application Model (AWS SAM), che utilizzano la compilazione Native Ahead-ofTime (AOT) per migliorare i tempi di avvio a freddo. AWS Lambda
Argomenti
. NET8 AOT Panoramica nativa
Storicamente,. NETLe funzioni Lambda hanno tempi di avvio a freddo che influiscono sull'esperienza utente, sulla latenza del sistema e sui costi di utilizzo delle applicazioni serverless. Con. NETAOTCompilazione nativa, puoi migliorare i tempi di avvio a freddo delle tue funzioni Lambda. Per saperne di più su Native for. AOT NET8, vedi Using Native AOT
Usando AWS SAM con il tuo. NET8 funzioni Lambda
Effettua quanto segue per configurare il tuo. NET8 funzioni Lambda con AWS Serverless Application Model ()AWS SAM:
-
Installa i prerequisiti sulla tua macchina di sviluppo.
-
Definire. NET8 funzioni Lambda nel tuo AWS SAM modello.
-
Crea la tua applicazione con. AWS SAMCLI
Installa i prerequisiti
I prerequisiti obbligatori sono i seguenti:
-
Il AWS SAMCLI
-
La. NETNucleo CLI
-
Amazon.Lambda.Tools. NETStrumento globale di base
-
Docker
Installa il AWS SAMCLI
-
Per verificare se è già AWS SAMCLI installato, esegui quanto segue:
sam --version
-
Per installare AWS SAMCLI, consultaInstalla il AWS SAM CLI.
-
Per aggiornare una versione installata di AWS SAMCLI, vedereAggiornamento del AWS SAMCLI.
Installa il. NETNucleo CLI
-
Per scaricare e installare il. NETCoreCLI, vedi Download. NET
dal sito Web di Microsoft. -
Per ulteriori informazioni su. NETCoreCLI, vedi. NETCore CLI nella Guida per gli AWS Lambda sviluppatori.
Installa Amazon.Lambda.Tools. NETStrumento globale di base
-
Esegui il comando seguente:
dotnet tool install -g Amazon.Lambda.Tools
-
Se lo strumento è già stato installato, è possibile verificare di avere in uso la versione più recente con il comando seguente:
dotnet tool update -g Amazon.Lambda.Tools
-
Per ulteriori informazioni su Amazon.Lambda.Tools. NETCore Global Tool, consulta le estensioni per.AWS NETCLI
repository attivo. GitHub
Installazione di Docker
-
Costruire con NativeAOT, richiede Docker l'installazione. Per le istruzioni di installazione, consulta Installazione di Docker da utilizzare con AWS SAM CLI.
Definire. NET8 funzioni Lambda nel tuo modello AWS SAM
Per definire un. NET8Funzione Lambda nel AWS SAM modello, procedi come segue:
-
Esegui il comando seguente da una directory iniziale a tua scelta:
sam init
Seleziona
AWS Quick Start Templates
per scegliere un modello di partenza.Scegli il
Hello World Example
modello.Scegli di non utilizzare il runtime e il tipo di pacchetto più diffusi inserendo
n
.Per il runtime, scegliete
dotnet8
.Per il tipo di pacchetto, scegli
Zip
.Per il tuo modello iniziale, scegli
Hello World Example using native AOT
.
Installazione di Docker
-
Costruire con NativeAOT, richiede Docker l'installazione. Per le istruzioni di installazione, consulta Installazione di Docker da utilizzare con AWS SAM CLI.
Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src/HelloWorldAot/ Handler: bootstrap Runtime: dotnet8 Architectures: - x86_64 Events: HelloWorldAot: Type: Api Properties: Path: /hello Method: get
Crea la tua applicazione con AWS SAMCLI
Dalla directory principale del progetto, esegui sam build
per iniziare a creare l'applicazione. Se la PublishAot
proprietà è stata definita nel tuo. NET8 file di progetto, che AWS SAMCLI verranno compilati con la AOT compilazione nativa. Per ulteriori informazioni sulla PublishAot
proprietà, consulta Native AOT Deployment
Per creare la tua funzione, AWS SAMCLI invoca il. NETCore CLI che utilizza Amazon.Lambda.Tools. NETStrumento globale di base.
Nota
Durante la creazione, se un .sln
file esiste nella stessa directory o nella directory principale del progetto, la directory contenente il .sln
file verrà montata nel contenitore. Se non viene trovato un .sln
file, viene montata solo la cartella del progetto. Pertanto, se state creando un'applicazione multiprogetto, assicuratevi che il .sln
file sia posizionato correttamente.
Ulteriori informazioni
Per ulteriori informazioni sull'edilizia. NET8 funzioni Lambda, vedi Introduzione a. NET8 runtime per AWS Lambda
Per un riferimento al sam build comando, vederesam build.