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 do.NET Lambda com compilação AOT nativa no AWS SAM
Crie e empacote suas AWS Lambda funções 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.
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 para .NET 8, consulte Usando a AOT nativa no repositório GitHub
Usando AWS SAM com suas funções 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
-
Amazon.Lambda.Tools .NET Core Global Tool
-
Docker
Instale o AWS SAM CLI
-
Para verificar se você já tem AWS SAMCLI instalado, execute o seguinte:
sam --version
-
Para instalar o AWS SAMCLI, consulteInstale o AWS SAM CLI.
-
Para atualizar uma versão instalada do AWS SAMCLI, consulteAtualizando 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 ferramenta global Amazon.Lambda.Tools .NET Core, consulte o repositório Extensions AWS for
.NET CLI em. 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 um. NET8 Função Lambda em seu AWS SAM modelo, 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
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
AWS CloudFormation recurso.
Crie seu aplicativo com o AWS SAMCLI
No diretório raiz do seu projeto, execute o sam build
comando 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.