Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Implantar funções do Lambda em Rust com arquivos .zip

Modo de foco
Implantar funções do Lambda em Rust com arquivos .zip - AWS Lambda
nota

O cliente runtime do Rust é um pacote experimental. Ele está sujeito a alterações, e é destinado apenas a fins de avaliação.

Esta página descreve como compilar sua função do Rust e, em seguida, implantar o binário compilado no AWS Lambda usando o Cargo Lambda. Ela também mostra como implantar o binário compilado com a AWS Command Line Interface e a CLI do AWS Serverless Application Model.

Pré-requisitos

Criação de funções do Rust no macOS, Windows ou Linux

As etapas a seguir demonstram como criar o projeto para sua primeira função do Lambda com Rust e como compilá-lo com o Cargo Lambda.

  1. Instale o Cargo Lambda, um subcomando do Cargo, que compila as funções do Rust para o Lambda no macOS, Windows e Linux.

    Para instalar o Cargo Lambda em qualquer sistema que tenha o Python 3 instalado, use o pip:

    pip3 install cargo-lambda

    Para instalar o Cargo Lambda no macOS ou no Linux, use o Homebrew:

    brew tap cargo-lambda/cargo-lambda brew install cargo-lambda

    Para instalar o Cargo Lambda no Windows, use o Scoop:

    scoop bucket add cargo-lambda scoop install cargo-lambda/cargo-lambda

    Para outras opções, consulte Instalação na documentação do Cargo Lambda.

  2. Crie a estrutura do pacote. Esse comando cria um código de função básico em src/main.rs. É possível usar esse código para testes ou substituí-lo pelo seu.

    cargo lambda new my-function
  3. Dentro do diretório raiz do pacote, execute o subcomando build para compilar o código na sua função.

    cargo lambda build --release

    (Opcional) Se você quiser usar o AWS Graviton2 no Lambda, adicione o sinalizador --arm64 para compilar seu código para CPUs ARM.

    cargo lambda build --release --arm64
  4. Antes de implantar sua função do Rust, configure as credenciais da AWS em sua máquina.

    aws configure

Implantação do binário da função do Rust com o Cargo Lambda

Use o subcomando deploy para implantar o binário compilado no Lambda. Esse comando cria um perfil de execução e, em seguida, cria a função do Lambda. Para especificar um perfil de execução existente, use a sinalização --iam-role.

cargo lambda deploy my-function

Implantação do binário da sua função do Rust com a AWS CLI

Você também pode implantar seu binário com a AWS CLI.

  1. Use o subcomando build para compilar o pacote de implantação .zip.

    cargo lambda build --release --output-format zip
  2. Para implantar o pacote .zip no Lambda, execute o comando create-function.

    aws lambda create-function \ --function-name my-function \ --runtime provided.al2023 \ --role arn:aws:iam::111122223333:role/lambda-role \ --handler rust.handler \ --zip-file fileb://target/lambda/my-function/bootstrap.zip

Implantação do binário da sua função do Rust com a CLI do AWS SAM

Você também pode implantar seu binário com a CLI do AWS SAM.

  1. Crie um modelo do AWS SAM com a definição do recurso e da propriedade. Em Runtime, especifique provided.al2023. Esse é um runtime somente de sistema operacional. Os runtimes somente de sistema operacional são usados para implantar binários compilados e runtimes personalizados no Lambda.

    Para obter mais informações sobre a implantação das funções do Lambda usando o AWS SAM, consulte AWS::Serverless::Function no AWS Serverless Application Model Developer Guide.

    exemplo Definição de recursos e propriedades do SAM para um binário do Rust
    AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: SAM template for Rust binaries Resources: RustFunction: Type: AWS::Serverless::Function Properties: CodeUri: target/lambda/my-function/ Handler: rust.handler Runtime: provided.al2023 Outputs: RustFunction: Description: "Lambda Function ARN" Value: !GetAtt RustFunction.Arn
  2. Use o subcomando build para compilar a função.

    cargo lambda build --release
  3. Use o comando sam deploy para implantar a função no Lambda.

    sam deploy --guided

Para obter mais informações sobre como construir funções do Rust com a CLI do AWS SAM, consulte Construção de funções do Lambda do Rust com o Cargo Lambda no Guia do desenvolvedor do AWS Serverless Application Model.

Invocação da sua função do Rust com o Cargo Lambda

Use o subcomando invoke para testar sua função com uma carga.

cargo lambda invoke --remote --data-ascii '{"command": "Hello world"}' my-function

Invocação da sua função Rust com a AWS CLI

Você também pode usar a AWS CLI para invocar a função.

aws lambda invoke --function-name my-function --cli-binary-format raw-in-base64-out --payload '{"command": "Hello world"}' /tmp/out.txt

A opção cli-binary-format será necessária se você estiver usando a AWS CLI versão 2. Para que essa seja a configuração padrão, execute aws configure set cli-binary-format raw-in-base64-out. Para obter mais informações, consulte A AWS CLI comporta opções de linha de comando globais no Guia do usuário da AWS Command Line Interface versão 2.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.