Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Déploiement de fonctions Lambda Rust avec des archives de fichiers .zip

Mode de mise au point
Déploiement de fonctions Lambda Rust avec des archives de fichiers .zip - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Note

Le client d’exécution Rust est un package expérimental. Il est susceptible d’être modifié et n’est destiné qu’à des fins d’évaluation.

Cette page décrit comment compiler votre fonction Rust, puis déployer le binaire compilé à l' AWS Lambda aide de Cargo Lambda. Il montre également comment déployer le binaire compilé avec la AWS Serverless Application Model CLI AWS Command Line Interface et.

Prérequis

Création de fonctions Rust sur macOS, Windows ou Linux

Les étapes suivantes montrent comment créer le projet de votre première fonction Lambda avec Rust et le compiler avec Cargo Lambda.

  1. Installez Cargo Lambda, une sous-commande Cargo, qui compile les fonctions Rust pour Lambda sur macOS, Windows et Linux.

    Pour installer Cargo Lambda sur tout système où Python 3 est installé, utilisez pip :

    pip3 install cargo-lambda

    Pour installer Cargo Lambda sur macOS ou Linux, utilisez Homebrew :

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

    Pour installer Cargo Lambda sous Windows, utilisez Scoop :

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

    Pour d’autres options, consultez Installation dans la documentation de Cargo Lambda.

  2. Créez la structure du package. Cette commande crée un code de fonction de base dans src/main.rs. Vous pouvez utiliser ce code pour le tester ou le remplacer par le vôtre.

    cargo lambda new my-function
  3. À l’intérieur du répertoire racine du package, exécutez la sous-commande build pour compiler le code de votre fonction.

    cargo lambda build --release

    (Facultatif) Si vous souhaitez utiliser AWS Graviton2 sur Lambda, ajoutez l'--arm64indicateur pour compiler votre code pour ARM. CPUs

    cargo lambda build --release --arm64
  4. Avant de déployer votre fonction Rust, configurez les AWS informations d'identification sur votre machine.

    aws configure

Déploiement du binaire de la fonction Rust avec Cargo Lambda

Utilisez la sous-commande deploy pour déployer le binaire compilé vers Lambda. Cette commande crée un rôle d’exécution, puis la fonction Lambda. Pour spécifier un rôle d’exécution existant, utilisez l’indicateur --iam-role.

cargo lambda deploy my-function

Déployer le binaire de votre fonction Rust avec le AWS CLI

Vous pouvez également déployer votre binaire avec le AWS CLI.

  1. Utilisez la sous-commande build pour créer le package de déploiement .zip.

    cargo lambda build --release --output-format zip
  2. Pour déployer le package .zip vers Lambda, exécutez la commande 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

Déploiement de votre fonction binaire Rust avec la AWS SAM CLI

Vous pouvez également déployer votre binaire à l'aide de la AWS SAM CLI.

  1. Créez un AWS SAM modèle avec la définition de la ressource et de la propriété. Pour Runtime, spécifiez provided.al2023. Il s’agit d’un environnement d’exécution réservé au système d’exploitation. Les environnements d’exécution réservés au système d’exploitation sont utilisés pour déployer des fichiers binaires compilés et des environnements d’exécution personnalisés sur Lambda.

    Pour plus d'informations sur le déploiement de fonctions Lambda à l'aide de fonctions Lambda AWS SAM, consultez AWS::Serverless::Functionle manuel du AWS Serverless Application Model développeur.

    Exemple Définition des ressources et des propriétés SAM pour un binaire 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. Utilisez la sous-commande build pour compiler la fonction.

    cargo lambda build --release
  3. Utilisez la commande sam deploy pour déployer la fonction vers Lambda.

    sam deploy --guided

Pour plus d'informations sur la création de fonctions Rust avec la AWS SAM CLI, voir Création de fonctions Rust Lambda avec Cargo Lambda dans le manuel du développeur.AWS Serverless Application Model

Invocation de votre fonction Rust avec Cargo Lambda

Utilisez la sous-commande invoke pour tester votre fonction avec une charge utile.

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

Invoquer votre fonction Rust avec le AWS CLI

Vous pouvez également utiliser le AWS CLI pour appeler la fonction.

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

L'cli-binary-formatoption est obligatoire si vous utilisez AWS CLI la version 2. Pour faire de ce paramètre le paramètre par défaut, exécutez aws configure set cli-binary-format raw-in-base64-out. Pour plus d’informations, consultez les options de ligne de commande globales prises en charge par l’AWS CLI dans le Guide de l’utilisateur AWS Command Line Interface version 2.

Rubrique suivante :

Journalisation

Rubrique précédente :

Événements HTTP
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.