Erstellen und Bereitstellen von C#-Lambda-Funktionen mit ZIP-Dateiarchiven - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen und Bereitstellen von C#-Lambda-Funktionen mit ZIP-Dateiarchiven

Ein .NET-Bereitstellungspaket (ZIP-Dateiarchiv) enthält die kompilierten Assembly Ihrer Funktion sowie aller ihrer Assembly-Abhängigkeiten. Das Paket enthält auch eine proj.deps.json-Datei. Dies signalisiert der .NET-Laufzeit alle Abhängigkeiten Ihrer Funktion sowie eine proj.runtimeconfig.json-Datei, die für die Konfiguration der Laufzeit verwendet wird.

Um einzelne Lambda-Funktionen bereitzustellen, können Sie die Amazon.Lambda.Tools .NET Lambda Global CLI verwenden. Mit dem dotnet lambda deploy-function Befehl wird automatisch ein ZIP-Bereitstellungspaket erstellt und auf Lambda bereitgestellt. Wir empfehlen jedoch, Frameworks wie das AWS Serverless Application Model (AWS SAM) oder das AWS Cloud Development Kit (AWS CDK) zu verwenden, um Ihre .NET-Anwendungen bereitzustellen AWS.

Serverlose Anwendungen bestehen in der Regel aus einer Kombination von Lambda-Funktionen und anderen verwalteten Funktionen, die AWS-Services zusammenarbeiten, um eine bestimmte Geschäftsaufgabe auszuführen. AWS SAM und AWS CDK vereinfachen Sie die Erstellung und Bereitstellung von Lambda-Funktionen mit anderen AWS-Services in großem Maßstab. Die AWS SAM Vorlagenspezifikation bietet eine einfache und übersichtliche Syntax zur Beschreibung von Lambda-Funktionen APIs, Berechtigungen, Konfigurationen und anderen AWS Ressourcen, aus denen Ihre serverlose Anwendung besteht. Über das AWS CDK definieren Sie die Cloud-Infrastruktur als Code, mit dem Sie zuverlässige, skalierbare und kostengünstige Anwendungen in der Cloud mit modernen Programmiersprachen und Frameworks wie .NET erstellen können. AWS CDK Sowohl die als auch die AWS SAM verwenden das.NET Lambda Global CLI, um Ihre Funktionen zu verpacken.

Obwohl es möglich ist, Lambda-Ebenen mit Funktionen in C# mithilfe der .NET-Core-CLI zu verwenden, raten wir davon ab. Funktionen in C#, die Ebenen verwenden, laden die freigegebenen Baugruppen während des Init-Phase manuell in den Speicher, was die Kaltstartzeiten verlängern kann. Schließen Sie stattdessen den gesamten freigegebenen Code zur Kompilierzeit ein, um die integrierten Optimierungen des .NET-Compilers zu nutzen.

In den folgenden Abschnitten finden Sie Anweisungen zum Erstellen und Bereitstellen von.NET-Lambda-Funktionen mit der AWS SAM AWS CDK, der und der.NET Lambda Global-CLI.