Déployez les fonctions Lambda C# à l'aide de AWS SAM - 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.

Déployez les fonctions Lambda C# à l'aide de AWS SAM

The AWS Serverless Application Model (AWS SAM) est une boîte à outils qui permet de rationaliser le processus de création et d'exécution d'applications sans serveur sur AWS. Vous définissez les ressources de votre application dans un modèle YAML ou JSON et vous utilisez l'interface de ligne de AWS SAM commande (AWS SAM CLI) pour créer, empaqueter et déployer vos applications. Lorsque vous créez une fonction Lambda à partir d'un AWS SAM modèle, elle crée AWS SAM automatiquement un package de déploiement ou une image de conteneur .zip avec le code de votre fonction et les dépendances que vous spécifiez. AWS SAM déploie ensuite votre fonction à l'aide d'une AWS CloudFormation pile. Pour en savoir plus sur l'utilisation des fonctions Lambda AWS SAM pour créer et déployer des fonctions Lambda, consultez Getting started with AWS SAM dans le Guide du AWS Serverless Application Model développeur.

Les étapes suivantes vous montrent comment télécharger, créer et déployer un exemple d’application Hello World en .NET à l’aide de AWS SAM. Cet exemple d’application utilise une fonction Lambda et un point de terminaison Amazon API Gateway pour implémenter une API backend de base. Lorsque vous envoyez une requête HTTP GET à votre point de terminaison API Gateway, API Gateway invoque votre fonction Lambda. La fonction renvoie un message « hello world », ainsi que l’adresse IP de l’instance de la fonction Lambda qui traite votre requête.

Lorsque vous créez et déployez votre application en utilisant AWS SAM, en arrière-plan, la AWS SAM CLI utilise la dotnet lambda package commande pour empaqueter les ensembles de codes de fonction Lambda individuels.

Prérequis

KIT DE DÉVELOPPEMENT LOGICIEL .NET 8

Installez le SDK .NET 8 et le Runtime.

AWS SAM CLI version 1.39 ou ultérieure

Pour savoir comment installer la dernière version de la AWS SAM CLI, consultez la section Installation de la AWS SAM CLI.

Déployer un exemple d' AWS SAM application

  1. Initialisez l’application en utilisant le modèle Hello world .NET à l’aide de la commande suivante.

    sam init --app-template hello-world --name sam-app \ --package-type Zip --runtime dotnet8

    Cette commande crée les fichiers et répertoires suivants dans le répertoire de votre projet.

    └── sam-app ├── README.md ├── events │   └── event.json ├── omnisharp.json ├── samconfig.toml ├── src │   └── HelloWorld │   ├── Function.cs │   ├── HelloWorld.csproj │   └── aws-lambda-tools-defaults.json ├── template.yaml └── test └── HelloWorld.Test ├── FunctionTest.cs └── HelloWorld.Tests.csproj
  2. Accédez au répertoire contenant le template.yaml file. Ce fichier est un modèle qui définit les ressources AWS de votre application, notamment votre fonction Lambda et API Gateway.

    cd sam-app
  3. Pour créer la source de votre application, exécutez la commande suivante.

    sam build
  4. Pour déployer votre application sur AWS, exécutez la commande suivante.

    sam deploy --guided

    Cette commande permet d’empaqueter et de déployer votre application à l’aide de la série d’invites suivante. Pour accepter les options par défaut, appuyez sur Entrée.

    Note

    Car l'autorisation n'a HelloWorldFunction peut-être pas été définie, est-ce que ça va ? , assurez-vous d'entrery.

    • Nom de la pile : nom de la pile à déployer sur AWS CloudFormation. Ce nom doit être propre à votre Compte AWS et Région AWS.

    • Région AWS: le sur lequel Région AWS vous souhaitez déployer votre application.

    • Confirmer les modifications avant le déploiement : sélectionnez oui pour examiner manuellement tous les ensembles de modifications avant que AWS SAM ne déploie les modifications de l’application. Si vous sélectionnez Non, la AWS SAM CLI déploie automatiquement les modifications apportées aux applications.

    • Autoriser la création de rôles IAM dans la CLI SAM : de nombreux AWS SAM modèles, y compris celui de Hello world dans cet exemple, créent des rôles AWS Identity and Access Management (IAM) pour autoriser vos fonctions Lambda à accéder à d'autres. Services AWS Sélectionnez Oui pour autoriser le déploiement d'une AWS CloudFormation pile qui crée ou modifie des rôles IAM.

    • Désactiver le rollback : par défaut, AWS SAM en cas d'erreur lors de la création ou du déploiement de votre stack, il rétablit la version précédente. Sélectionnez Non pour accepter cette valeur par défaut.

    • HelloWorldFunction l'autorisation n'est peut-être pas définie, est-ce que ça va : Entrezy.

    • Enregistrer les arguments dans samconfig.toml : sélectionnez oui pour enregistrer vos choix de configuration. À l’avenir, vous pourrez à nouveau exécuter sam deploy sans paramètres pour déployer les modifications apportées à votre application.

  5. Une fois le déploiement de votre application terminé, la CLI renvoie l’Amazon Resource Name (ARN) de la fonction Lambda Hello World et le rôle IAM créé pour cette fonction. Elle affiche également le point de terminaison de votre API Gateway. Pour tester votre application, ouvrez le point de terminaison dans un navigateur. Vous devriez voir une réponse similaire à la suivante.

    {"message":"hello world","location":"34.244.135.203"}
  6. Pour supprimer vos ressources, exécutez la commande suivante. Notez que le point de terminaison de l’API que vous avez créé est un point de terminaison public accessible via le réseau Internet. Nous vous recommandons de supprimer ce point de terminaison après les tests.

    sam delete

Étapes suivantes

Pour en savoir plus sur la création et le déploiement de fonctions Lambda AWS SAM à l'aide de .NET, consultez les ressources suivantes :