View a markdown version of this page

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

Le 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, un package de déploiement .zip ou une image de conteneur sont AWS SAM automatiquement créés 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 CloudFormation pile. Pour en savoir plus sur l'utilisation AWS SAM pour créer et déployer des fonctions Lambda, consultez la section Mise AWS SAM en route du 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 à l'aide de AWS SAM, en coulisse, la AWS SAM CLI utilise la dotnet lambda package commande pour empaqueter les ensembles de codes de fonction Lambda individuels.

Conditions préalables

Kit SDK .NET 8

Installez l’environnement d’exécution et le kit SDK .NET 8.

AWS SAM CLI version 1.39 ou ultérieure

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

Déployer un échantillon AWS SAM vigie

  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'est HelloWorldFunction peut-être pas définie, est-ce que ça va ? , assurez-vous d'entrery.

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

    • Région AWS: celui 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, l' AWS SAM interface de ligne de commande déploie automatiquement les modifications apportées à l'application.

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

    • Désactiver la restauration  : par défaut, si AWS SAM une erreur survient lors de la création ou du déploiement de votre pile, la pile revient à 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 cela vous convient : 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 l'utilisation AWS SAM pour créer et déployer des fonctions Lambda à l'aide de .NET, consultez les ressources suivantes :