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 von.NET-Lambda-Funktionen mit nativer AOT-Kompilierung in AWS SAM
Erstellen und verpacken Sie Ihre .NET AWS Lambda 8-Funktionen mit AWS Serverless Application Model (AWS SAM). Verwenden Sie dabei die native Kompilierung Ahead-of-Time (AOT), um die AWS Lambda Kaltstartzeiten zu verbessern.
Themen
Überblick über .NET 8 Native AOT
In der Vergangenheit hatten die.NET-Lambda-Funktionen Kaltstartzeiten, die sich auf die Benutzererfahrung, die Systemlatenz und die Nutzungskosten Ihrer serverlosen Anwendungen auswirken. Mit.NET Native AOT-Kompilierung können Sie die Kaltstartzeiten Ihrer Lambda-Funktionen verbessern. Weitere Informationen zu Native AOT für .NET 8 finden Sie unter Verwenden von Native AOT
Verwendung AWS SAM mit Ihren.NET-8-Lambda-Funktionen
Gehen Sie wie folgt vor, um Ihre .NET 8-Lambda-Funktionen mit der AWS Serverless Application Model (AWS SAM) zu konfigurieren:
-
Installieren Sie die erforderlichen Komponenten auf Ihrem Entwicklungscomputer.
-
Definieren Sie .NET 8 Lambda-Funktionen in Ihrer AWS SAM Vorlage.
-
Erstellen Sie Ihre Anwendung mit dem AWS SAMCLI.
Voraussetzungen für die Installation
Die folgenden Voraussetzungen sind erforderlich:
-
Die AWS SAMCLI
-
Die.NET Core CLI
-
Das globale .NET Core-Tool von Amazon.Lambda.Tools
-
Docker
Installieren Sie das AWS SAMCLI
-
Um zu überprüfen, ob Sie das bereits AWS SAMCLI installiert haben, führen Sie Folgendes aus:
sam --version
-
Informationen zur Installation von AWS SAMCLI finden Sie unterInstallieren Sie das AWS SAMCLI.
-
Informationen zum Upgrade einer installierten Version von finden Sie unterAktualisierung der AWS SAM CLI. AWS SAMCLI
Installieren Sie das.NET Core CLI
-
Informationen zum Herunterladen und Installieren von.NET Core-CLI finden Sie unter .NET von der Microsoft-Website herunterladen
. -
Weitere Informationen zur.NET Core CLI finden Sie unter.NET Core CLI im AWS Lambda Developer Guide.
Installieren Sie das Amazon.Lambda.Tools .NET Core Global Tool
-
Führen Sie den folgenden Befehl aus:
dotnet tool install -g Amazon.Lambda.Tools
-
Wenn Sie das Tool bereits installiert haben, können Sie sich mit dem folgenden Befehl vergewissern, dass Sie die neueste Version verwenden:
dotnet tool update -g Amazon.Lambda.Tools
-
Weitere Informationen zum Amazon.Lambda.Tools .NET Core Global Tool finden Sie im AWS Extensions
for .NET CLI Repository unter. GitHub
Installieren Docker
-
Das Erstellen mit nativem AOT muss installiert werden. Docker Installationsanweisungen finden Sie unter Installation von Docker zur Verwendung mit dem AWS SAM CLI.
Definieren Sie.NET 8 Lambda-Funktionen in Ihrer Vorlage AWS SAM
Um eine zu definieren. NET8 Gehen Sie in der Lambda-Funktion in Ihrer AWS SAM Vorlage wie folgt vor:
-
Führen Sie den folgenden Befehl in einem Startverzeichnis Ihrer Wahl aus:
sam init
Wählen Sie
AWS Quick Start Templates
diese Option, um eine Startvorlage auszuwählen.Wählen Sie als Vorlage
Hello World Example
aus.Geben Sie ein, dass Sie nicht den gängigsten Laufzeit- und Pakettyp verwenden möchten
n
.Wählen Sie für Runtime
dotnet8
.Wählen Sie als Pakettyp
Zip
.Wählen Sie für Ihre Starter-Vorlage
Hello World Example using native AOT
.
Installieren Docker
-
Building with Native AOT, Docker muss installiert sein. Installationsanweisungen finden Sie unter Installation von Docker zur Verwendung mit dem AWS SAM CLI.
Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src/HelloWorldAot/ Handler: bootstrap Runtime: dotnet8 Architectures: - x86_64 Events: HelloWorldAot: Type: Api Properties: Path: /hello Method: get
Anmerkung
Wenn die Event
Eigenschaft von auf gesetzt AWS::Serverless::Function
istApi
, die RestApiId
Eigenschaft aber nicht angegeben ist, wird die AWS::ApiGateway::RestApi
AWS CloudFormation Ressource AWS SAM generiert.
Erstellen Sie Ihre Anwendung mit AWS SAMCLI
Führen Sie im Stammverzeichnis Ihres Projekts den sam build
Befehl aus, um mit der Erstellung Ihrer Anwendung zu beginnen. Wenn die PublishAot
Eigenschaft in Ihrer .NET 8-Projektdatei definiert wurde, AWS SAMCLI wird sie mit der systemeigenen AOT-Kompilierung erstellt. Weitere Informationen zu dieser PublishAot
Eigenschaft finden Sie unter Native AOT Deployment
Um Ihre Funktion zu erstellen, AWS SAMCLI ruft die .NET Core CLI auf, die das Amazon.Lambda.Tools .NET Core Global Tool verwendet.
Anmerkung
Wenn beim Erstellen eine .sln
Datei im selben oder einem übergeordneten Verzeichnis Ihres Projekts vorhanden ist, wird das Verzeichnis, das die .sln
Datei enthält, in den Container gemountet. Wenn eine .sln
Datei nicht gefunden wird, wird nur der Projektordner bereitgestellt. Wenn Sie eine Multiprojektanwendung erstellen, stellen Sie daher sicher, dass sich die .sln
Datei im richtigen Verzeichnis befindet.
Weitere Informationen
Weitere Informationen zum Erstellen von.NET 8-Lambda-Funktionen finden Sie unter Einführung in die .NET 8-Laufzeit für AWS Lambda
Eine Referenz zu dem sam build Befehl finden Sie untersam build.