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 AWS Serverless Application Model (AWS SAM) oder zu verwenden AWS Cloud Development Kit (AWS CDK) , um Ihre .NET-Anwendungen in bereitzustellen AWS.

Serverless-Anwendungen umfassen in der Regel eine Kombination aus Lambda-Funktionen und anderen verwalteten AWS-Services , die zusammenarbeiten, um eine bestimmte Geschäftsaufgabe auszuführen. AWS SAM Außerdem AWS CDK vereinfachen sie das Erstellen und Bereitstellen von Lambda-Funktionen mit anderen AWS-Services in großem Umfang. Die AWS SAM Vorlagenspezifikation bietet eine einfache und saubere Syntax zur Beschreibung von Lambda-Funktionen, APIs, Berechtigungen, Konfigurationen und anderen AWS Ressourcen, aus denen Ihre Serverless-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. Sowohl die als auch AWS CDK die AWS SAM verwenden die .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 mithilfe der AWS CDK, AWS SAM der und der .NET Lambda Global CLI.