View a markdown version of this page

Criando funções de eventos do.NET Lambda 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á.

Criando funções de eventos do.NET Lambda com compilação AOT nativa no AWS SAM

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

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 para .NET 8, consulte Usando a AOT nativa no repositório GitHub Dotnet.

Utilizar AWS SAM com suas funções de eventos Lambda do.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 Lambda do.NET 8 em seu AWS SAM modelo.

  • Crie seu aplicativo com AWS SAMCLI o.

Pré-requisitos de instalação

Os seguintes pré-requisitos são exigidos:

  • O AWS SAMCLI

  • .NET Core CLI

  • A ferramenta global Amazon.Lambda.Tools do.NET Core

  • Docker

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

    sam --version
  2. Para instalar o AWS SAMCLI, consulteInstale o AWS SAM CLI.

  3. Para atualizar uma versão instalada do AWS SAMCLI, consulteAtualizar 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 a ferramenta global Amazon.Lambda.Tools do.NET Core
  1. Execute este 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 ferramenta global Amazon.Lambda.Tools do.NET Core, consulte AWS as extensões para o repositório CLI do.NET em. GitHub

Instalar Docker

Defina funções de eventos Lambda do.NET 8 em seu AWS SAM modelo

Para definir uma função Lambda.NET8 em seu AWS SAM modelo, 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 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
nota

Quando a Event propriedade de um AWS::Serverless::Function é definida comoApi, mas a RestApiId propriedade não é especificada, AWS SAM gera o AWS::ApiGateway::RestApi CloudFormation recurso.

Crie seu aplicativo com o AWS SAM CLI

No diretório raiz do seu projeto, execute o comando sam build para começar a criar sua aplicação. 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 sua função, ele AWS SAMCLI invoca a CLI do.NET Core, que usa a ferramenta global Amazon.Lambda.Tools do.NET Core.

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.