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.
Tópicos
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
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
-
Para verificar se você já tem AWS SAM CLI instalado, execute o seguinte:
sam --version
-
Para instalar o AWS SAM CLI, consulte Instale o AWS SAM CLI.
-
Para atualizar uma versão instalada de AWS SAM CLI, consulte Atualizar o AWS SAM CLI.
Instalado o .NET Core CLI
-
Para fazer download e instalar a .NET Core CLI, consulte Download .NET
do website da Microsoft. -
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
-
Execute o seguinte comando:
dotnet tool install -g Amazon.Lambda.Tools
-
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
-
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
-
Construir com AOT nativo, precisa que Docker seja instalado. Para obter instruções de instalação, consulte Instalando o Docker para usar com o AWS SAM CLI.
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:
-
Execute o seguinte comando em um diretório inicial de sua escolha:
sam init
Selecione
AWS Quick Start Templates
para escolher um modelo inicial.Escolha o modelo
Hello World Example
.Escolha não usar o runtime e o tipo de pacote mais populares inserindo
n
.Em runtime, escolha
dotnet8
.Em tipo de pacote, escolha
Zip
.Em modelo inicial, escolha
Hello World Example using native AOT
.
Instalar o Docker
-
Construir com AOT nativo, precisa que Docker seja instalado. Para obter instruções de instalação, consulte Instalando o Docker para usar com o 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
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
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.