Créez et déployez des fonctions Lambda C# à l’aide des archives de fichiers .zip
Un package de déploiement .NET (archive de fichier .zip) contient l’assemblage compilé de votre fonction ainsi que toutes les dépendances de l’assemblage. Le package contient également un fichier . Il indique à l’exécution .NET toutes les dépendances de votre fonction et un fichier proj.deps.json, qui est utilisé pour configurer l’exécution.proj.runtimeconfig.json
Pour déployer des fonctions Lambda individuelles, vous pouvez utiliser la CLI .NET Lambda Global de Amazon.Lambda.Tools. L’utilisation de la commande dotnet lambda deploy-function crée automatiquement un package de déploiement .zip et le déploie sur Lambda. Cependant, nous vous recommandons d’utiliser des cadres tels que le AWS Serverless Application Model (AWS SAM) ou le AWS Cloud Development Kit (AWS CDK) pour déployer vos applications .NET sur AWS.
Les applications sans serveur comprennent généralement une combinaison de fonctions Lambda et d’autres Services AWS gérés qui fonctionnent ensemble pour exécuter une tâche commerciale particulière. AWS SAM et AWS CDK simplifient la création et le déploiement de fonctions Lambda avec d’autres Services AWS à grande échelle. La spécification du modèle AWS SAM fournit une syntaxe simple et propre pour décrire les fonctions Lambda, les API, les autorisations, les configurations et les autres ressources AWS qui composent votre application sans serveur. Grâce au AWS CDK, vous pouvez définir l’infrastructure cloud en tant que code pour vous aider à créer des applications fiables, évolutives et rentables dans le cloud à l’aide de langages de programmation et de cadres modernes tels que .NET. Le AWS CDK et le AWS SAM utilisent tous deux la CLI .NET Lambda Global pour empaqueter vos fonctions.
Bien qu’il soit possible d’utiliser des couches Lambda avec des fonctions en C# à l’aide de la CLI .NET Core, nous vous le déconseillons. Les fonctions en C# qui utilisent des couches chargent manuellement les assemblages partagés dans la mémoire pendant le Phase d’initialisation, ce qui peut augmenter les temps de démarrage à froid. Incluez plutôt tout le code partagé au moment de la compilation pour éviter d’affecter les performances du chargement des assemblages au moment de l’exécution.
Vous trouverez des instructions pour créer et déployer des fonctions Lambda .NET en utilisant le AWS SAM, le AWS CDK et la CLI .NET Lambda Global dans les sections suivantes.