Como criar funções do Lambda com .NET com compilação AOT nativa no AWS SAM - AWS Serverless Application Model

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como criar funções do Lambda com .NET com compilação AOT nativa no AWS SAM

Crie e empacote suas funções do AWS Lambda do .NET 8 com o AWS Serverless Application Model (AWS SAM), utilizando a compilação Ahead-of-Time (AOT) nativa para melhorar os tempos de inicialização a frio do AWS Lambda.

Visão geral da AOT nativa do .NET 8

Historicamente, as funções .NET Lambda têm tempos de inicialização a frio que afetam a experiência do usuário, a latência do sistema e os custos de uso de seus aplicativos sem servidor. Com a compilação AOT nativa do.NET, você pode melhorar os tempos de inicialização a frio das suas funções do Lambda. Para saber mais sobre a AOT nativa do .NET 8, consulte Como usar a AOT nativa no Repositório Dotnet GitHub.

Como usar o AWS SAM com as funções do Lambda com .NET 8

Faça o seguinte para configurar as funções do Lambda com .NET 8 com o AWS Serverless Application Model (AWS SAM):

  • Instale os pré-requisitos em sua máquina de desenvolvimento.

  • Defina as funções do Lambda com .NET 8 no modelo do AWS SAM.

  • Crie seu aplicativo com AWS SAM CLI.

Pré-requisitos de instalação

Os seguintes pré-requisitos são exigidos:

  • A ação AWS SAM CLI

  • .NET Core CLI

  • Amazon.Lambda.Tools .NET Core Global Tool

  • Docker

Instale o AWS SAM CLI
  1. Para verificar se você já tem AWS SAM CLI instalado, execute o seguinte:

    sam --version
  2. Para instalar o AWS SAM CLI, consulte Instale o AWS SAM CLI.

  3. Para atualizar uma versão instalada de AWS SAM CLI, consulte Atualizar o AWS SAM CLI.

Instalado o .NET Core CLI
  1. Para fazer download e instalar a .NET Core CLI, consulte Download .NET do website da Microsoft.

  2. Para obter mais informações sobre a CLI do.NET Core, consulte .NET Core CLI no AWS Lambda Guia do Desenvolvedor.

Instale o Amazon.Lambda.Tools .NET Core Global Tool
  1. Execute o seguinte comando:

    dotnet tool install -g Amazon.Lambda.Tools
  2. Se você já tiver a ferramenta instalada, certifique-se de que esteja usando a versão mais recente com o seguinte comando:

    dotnet tool update -g Amazon.Lambda.Tools
  3. Para obter mais informações sobre a Amazon.Lambda.Tools .NET Core Global Tool, consulte o repositório de Extensões da AWS para CLI do .NET no GitHub.

Instalar o Docker

Defina as funções do Lambda com .NET 8 no modelo do AWS SAM

Para definir uma função do Lambda com .NET 8 no modelo do AWS SAM, faça o seguinte:

  1. Execute o seguinte comando em um diretório inicial de sua escolha:

    sam init
  2. Selecione AWS Quick Start Templates para escolher um modelo inicial.

  3. Escolha o modelo Hello World Example.

  4. Escolha não usar o runtime e o tipo de pacote mais populares inserindo n.

  5. Em runtime, escolha dotnet8.

  6. Em tipo de pacote, escolha Zip.

  7. Em modelo inicial, escolha Hello World Example using native AOT.

Instalar o 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

Crie seu aplicativo com o AWS SAMCLI

No diretório raiz do seu projeto, execute sam build para começar a criar seu aplicativo. Se a propriedade PublishAot tiver sido definida no arquivo de projeto do .NET 8, a CLI do AWS SAM será criada com a compilação AOT nativa. Para saber mais sobre a propriedade PublishAot, consulte Implantação nativa de AOT na documentação .NET da Microsoft.

Para criar a sua função, AWS SAM CLI invoca a CLI do .NET Core CLI, que usa a ferramenta Amazon.Lambda.Lambda.Tools .NET Core Global.

nota

Ao criar, se um arquivo .sln existir no mesmo diretório ou no diretório principal do seu projeto, o diretório que contém o arquivo .sln será montado no contêiner. Se um arquivo .sln não for encontrado, somente a pasta do projeto será montada. Portanto, se você estiver criando um aplicativo de vários projetos, verifique se o arquivo .sln está localizado na propriedade.

Saiba mais

Para obter mais informações sobre a criação de funções do Lambda com .NET 8, consulte Introdução ao runtime do .NET 8 para o AWS Lambda.

Para obter uma referência do comando sam build, consulte sam build.