Edificio. NETFunzioni Lambda con compilazione nativa AOT in AWS SAM - AWS Serverless Application Model

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

. 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 nel GitHub repository Dotnet.

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
  1. Per verificare se è già AWS SAMCLI installato, esegui quanto segue:

    sam --version
  2. Per installare AWS SAMCLI, consultaInstalla il AWS SAM CLI.

  3. Per aggiornare una versione installata di AWS SAMCLI, vedereAggiornamento del AWS SAMCLI.

Installa il. NETNucleo CLI
  1. Per scaricare e installare il. NETCoreCLI, vedi Download. NETdal sito Web di Microsoft.

  2. Per ulteriori informazioni su. NETCoreCLI, vedi. NETCore CLI nella Guida per gli AWS Lambda sviluppatori.

Installa Amazon.Lambda.Tools. NETStrumento globale di base
  1. Esegui il comando seguente:

    dotnet tool install -g Amazon.Lambda.Tools
  2. 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
  3. Per ulteriori informazioni su Amazon.Lambda.Tools. NETCore Global Tool, consulta le estensioni per.AWS NETCLIrepository attivo. GitHub

Installazione di Docker

Definire. NET8 funzioni Lambda nel tuo modello AWS SAM

Per definire un. NET8Funzione Lambda nel AWS SAM modello, procedi come segue:

  1. Esegui il comando seguente da una directory iniziale a tua scelta:

    sam init
  2. Seleziona AWS Quick Start Templates per scegliere un modello di partenza.

  3. Scegli il Hello World Example modello.

  4. Scegli di non utilizzare il runtime e il tipo di pacchetto più diffusi inserendon.

  5. Per il runtime, sceglietedotnet8.

  6. Per il tipo di pacchetto, scegliZip.

  7. Per il tuo modello iniziale, scegliHello World Example using native AOT.

Installazione di Docker
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 in Microsoft's. NETdocumentazione.

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.