.NET-Workloads in AWS Lambda

MODUL 2

Modul 2: Tools für die .NET-Entwicklung

 LERNMODUL

AWS bietet mehrere Tools, mit denen Sie Lambda-Funktionen für.NET entwickeln können. Sie sind alle kostenlos und können direkt in der IDE Ihrer Wahl oder in der von Ihnen gewählten Befehlszeile installiert werden. Die Tools müssen nicht konfiguriert werden, wenn Sie bereits ein AWS-Konto auf Ihrem Computer eingerichtet haben.

.NET-Tools für AWS Lambda sind für Visual Studio (nur Windows), Visual Studio Code und Rider verfügbar. Befehlszeilentools sind für Windows, Linux und Mac verfügbar. Der Unterstützungsumfang variiert zwischen IDEs und Betriebssystemen. In diesem Modul finden Sie eine Zusammenfassung der verfügbaren Tools sowie Links zu relevanten Downloads.

 Veranschlagte Zeit

60 Minuten 

AWS Toolkit for Visual Studio

Seit Mai 2022 ist das AWS Toolkit für Visual Studio nur für Windows verfügbar. Nach der Installation hilft Ihnen das Toolkit bei der Konfiguration für den Zugriff auf Ihr AWS-Konto.

Sie können mit dem Toolkit über eine bekannte Benutzeroberfläche Ihre Lambda-Funktionen über eine grafische Oberfläche in Visual Studio zu entwickeln, debuggen, bereitstellen, aktualisieren und testen. Das Toolkit steht für Visual Studio 2022, 2019 und 2017 zum Download zur Verfügung.

Installation

Gehen Sie in Visual Studio zum Erweiterungsmenü und wählen Sie „Manage Extensions“ (Erweiterungen verwalten) aus. Geben Sie rechts in das Suchfeld „AWS Toolkit“ ein. Wählen Sie im Ergebnisbereich die Erweiterung „AWS Toolkit for Visual Studio“ aus und klicken Sie auf Download (Herunterladen). Folgen Sie den Anweisungen, um die Erweiterung zu installieren. Möglicherweise müssen Sie Visual Studio neu starten.

Wenn Sie möchten, können Sie das AWS Toolkit auch direkt herunterladen. Lesen Sie dazu die Dokumentation für das AWS Toolkit für Visual Studio.

Überblick und Hauptmerkmale

In Bezug auf den Lambda-Service bietet das Toolkit zwei wichtige Feature-Sätze: Projektvorlagen für Lambda-Funktionen und Tools zur Unterstützung bei der Bereitstellung, Verwaltung und dem Testen/Aufrufen von Lambda-Funktionen. Darüber hinaus ermöglicht Ihnen das Toolkit die Verwaltung anderer AWS-Ressourcen und die Bereitstellung von Anwendungen für andere Arten von AWS-Infrastrukturen wie AWS Fargate, AWS App Runner und AWS Elastic Beanstalk (diese werden in diesem Kurs nicht behandelt).

Das Toolkit fügt viele Lambda-Projektvorlagen hinzu, mit denen Sie eine Vielzahl von Lambda-Funktionen erstellen können.

Die einfachste Methode nimmt eine Zeichenfolge und gibt eine Version dieser Zeichenfolge in Großbuchstaben zurück. Dies ist aufgrund der Einfachheit, der einfachen Bereitstellung und der einfachen Testbarkeit ein großartiger Einstieg. In nur wenigen Minuten können Sie eine .NET-Lambda-Funktion in AWS ausführen, Anfragen senden und Antworten erhalten.

Etwas komplexer ist eine Vorlage, die eine vollständige .NET-6-Webanwendung (mit Webseiten und API-Controllern) bereitstellt. Wenn sie bereitgestellt wird, wird auch die erforderliche Infrastruktur für den Zugriff über das Internet bereitgestellt und für Sie konfiguriert.

Es sind Container-Projektvorlagen verfügbar, sollten Sie dies bevorzugen. Beachten Sie, dass Sie Docker auf Ihrem Computer installiert haben müssen, damit diese funktionieren. Im Abschnitt „Die Laufzeit für Sie auswählen“ in Modul 4 erfahren Sie, warum Sie Container-Images mit Lambda-Funktionen verwenden können.

Das Testen Ihrer Lambda-Funktionen ist genauso wichtig wie das Testen Ihres anderen Codes. Die meisten Projektvorlagen enthalten ein Testprojekt, das xUnit verwendet, um den Code im Quellcodeprojekt zu testen. Dies erleichtert den Einstieg in Modultests.

Wie Sie oben sehen können, können Sie Ihre Funktionen auch von Visual Studio aus im AWS-Lambda-Service veröffentlichen. Die Veröffentlichungsfunktion kümmert sich um das Erstellen eines Pakets, das Hochladen in den Lambda-Service, das Anwenden von Berechtigungen, das Erstellen des API-Gateway-Endpunkts und alle anderen notwendigen Schritte, damit Ihr Code ausgeführt wird und für den Aufruf verfügbar ist. Sie müssen nur den Code schreiben.

Ein weiteres Feature des Toolkits ist der AWS Explorer, mit dem Sie viele Ihrer AWS-Ressourcen wie DynamoDB, S3, SNS, SQS-Warteschlangen, EC2 und natürlich Lambda-Funktionen anzeigen und verwalten können.

Um den AWS Explorer zu öffnen, gehen Sie zum Menü View (Ansicht) und wählen Sie AWS Explorer aus.

In Bezug auf Lambda-Funktionen können Sie mit AWS Explorer:

  • eine Region auswählen.
  • Ihre Lambda-Funktionen anzeigen und verwalten.
  • Lambda-Funktionen in AWS aufrufen, alle erforderlichen Parameter übergeben und sich die Antwort ansehen. Das Tool bietet Beispieleingaben zur Simulation von Aufrufen von einer Vielzahl anderer AWS-Services. Dies ist sehr nützlich, wenn Sie eine Lambda-Funktion erstellen, die durch ein Ereignis von einem anderen Service ausgelöst wird, z. B. eine Datei, die in S3 erstellt wird.
  • eine lokal ausgeführte Version einer Lambda-Funktion debuggen.
  • Services konfigurieren, die eine Lambda-Funktion auslösen dürfen.
  • die von Lambda-Funktionen generierten Protokolle anzeigen.

Um eine Lambda-Funktion aus dem Toolkit aufzurufen, öffnen Sie den AWS Explorer, erweitern Sie den Lambda-Bereich, klicken Sie mit der rechten Maustaste auf die Lambda-Funktion, die Sie ausführen möchten, und wählen Sie View Function (Funktion anzeigen) aus.

Von dort aus können Sie eine Beispielanfrage aus der Dropdown-Liste auswählen. Mit diesen Beispielen können Sie Aufrufe von anderen AWS-Services wie API Gateway, S3, SNS usw. simulieren. Auf diese Weise können Sie Ihre Lambda-Funktionen, die durch Ereignisse anderer Services aufgerufen werden, einfach und direkt testen.

Oder Sie können Ihre eigene Anfrage verwenden.

Darüber hinaus können alle Lambda-bezogenen Befehlszeilentools über das Terminal verwendet werden.

Wenn Sie neu bei AWS sind, ist das Toolkit für Visual Studio der beste Einstieg. Es hat die meisten Funktionen aller verfügbaren Toolkits und ist am einfachsten zu debuggen und Bereitstellungen durchzuführen. Das AWS Toolkit für Visual Studio funktioniert auch mit der Visual Studio Community Edition, die kostenlos erhältlich ist. Zusammen mit dem kostenlosen Kontingent für AWS ist dies eine großartige Kombination für Entwickler, die in AWS einsteigen.

AWS Toolkit für Visual Studio Code

Das AWS Toolkit für Visual Studio Code (VS Code) ist für alle Betriebssysteme verfügbar, auf denen VS Code ausgeführt wird: Windows, Linux und Mac. Das Toolkit bietet eine einheitliche Benutzererfahrung in allen drei Betriebssystemen.

Das AWS Toolkit für Visual Studio Code ist zwar nicht so umfassend ausgestattet wie das AWS Toolkit für Visual Studio Code, ermöglicht es Ihnen jedoch, Ihre Ressourcen in AWS zu durchsuchen und mit ihnen zu interagieren.

Sie können S3-Buckets durchsuchen (und Dateien bearbeiten!) , API-Gateway-Endpunkte aufrufen, aus der Amazon Elastic Container Registry (ECR) bereitstellen, Lambda-Funktionen in AWS aufrufen und sie lokal debuggen (benötigt ein Dotnet-Tool, siehe unten). Eine vollständige Liste der Features finden Sie in der Dokumentation zum AWS Toolkit für Visual Studio Code.

Sie können auch alle verfügbaren AWS-Befehlszeilentools mit VS Code verwenden. Auf diese Weise werden Sie höchstwahrscheinlich von VS Code aus mit AWS interagieren. Über Befehlszeilentools können Sie flexibel jeden AWS-Service verwalten.

Installation

Klicken Sie in der primären Seitenleiste auf das Erweiterungssymbol. Geben Sie in der sich öffnenden Suchleiste „aws toolkit“ ein. Das AWS-Toolkit sollte oben in der Liste angezeigt werden. Klicken Sie auf Install (Installieren). Möglicherweise müssen Sie VS Code neu starten.

Überblick und Hauptmerkmale

Das AWS Toolkit für VS Code kann über den VS Code Extension Marketplace oder durch direktes Herunterladen von der AWS-Toolkit-Seite auf dem Visual Studio Marketplace hinzugefügt werden.

Wenn Sie bereits ein AWS-Konto auf Ihrem Computer konfiguriert haben, stellt das Toolkit mithilfe dieses Kontos automatisch eine Verbindung zu AWS her.

In der primären Seitenleiste des VS-Code-Fensters wird ein AWS-Symbol angezeigt. Von dort aus können Sie alle Services sehen, auf die das Toolkit Zugriff hat.

Das Toolkit enthält keine Lambda-Projektvorlagen wie das Visual Studio Toolkit. Stattdessen erstellen Sie eine neue Lambda-Funktion über die Befehlszeile mit dem Befehl dotnet new ... Eine umfangreiche Liste von Vorlagen ist verfügbar. Diese Vorlagen helfen Ihnen dabei, sehr schnell mit den AWS-Lambda-Funktionen zu beginnen. Anweisungen zur Installation von dotnet-CLI-Vorlagen finden Sie unten.

In Bezug auf Lambda-Funktionen können Sie mit AWS Explorer:

  • Lambda-Funktionen in AWS aufrufen, alle erforderlichen Parameter übergeben und sich die Antwort ansehen. Das Tool bietet Beispieleingaben zur Simulation von Aufrufen von einer Vielzahl anderer AWS-Services, wodurch Lambda ausgelöst wird.
  • Debuggen Sie Lambda-Funktionen lokal mit dem AWS .NET Mock Lambda Test Tool.
  • Laden Sie ein ZIP-Archiv einer erstellten .NET-Lambda-Funktion hoch.
  • Zeigen Sie die von Lambda-Funktionen generierten Protokolle an (über CloudWatch Logs).

Um eine Lambda-Funktion aus dem Toolkit aufzurufen, öffnen Sie den AWS Explorer, erweitern Sie den Lambda-Bereich, klicken Sie mit der rechten Maustaste auf die Lambda-Funktion, die Sie ausführen möchten, und wählen Sie „Invoke on AWS“ (In AWS aufrufen) aus.

Dadurch wird ein neues Fenster geöffnet, in dem Sie eine Anforderungsnutzlast auswählen können, mit der Sie die Funktion aufrufen möchten.

Oder Sie können Ihre eigene Nutzlast für Anfragen schreiben. Die Registerkarte „VS Code output“ (VS-Code-Ausgabe) zeigt die Antwortnutzlast.

Darüber hinaus können alle Lambda-bezogenen Befehlszeilentools über das Terminal mit VS Code verwendet werden. Insbesondere der Befehl dotnet lambda ist besonders nützlich, wenn Sie mit Lambda-Funktionen in VS Code arbeiten. Einzelheiten und Anweisungen zur Installation finden Sie im Abschnitt „AWS-Erweiterungen für .NET CLI (dotnet Lambda ...)“ weiter unten.

AWS Toolkit für Rider

Das AWS Toolkit für Rider ist ein Plugin für Rider, mit dem Sie AWS-Ressourcen erstellen, anzeigen und verwalten können. Es hat ähnliche Funktionen wie das AWS Toolkit für VS Code, enthält jedoch eine Vielzahl von Projektvorlagen für .NET, damit Sie schnell mit der Entwicklung von Lambda-Funktionen beginnen können.

Installation

Um das AWS Toolkit für Rider zu installieren, öffnen Sie das Menü „File“ (Datei), gefolgt von „Settings“ (Einstellungen) und „Plugins“. Suchen Sie nach „AWS Toolkit“ und installieren Sie es.

Wenn Sie bereits ein AWS-Konto auf Ihrem Computer konfiguriert haben, stellt das Toolkit mithilfe dieses Kontos automatisch eine Verbindung zu Ihrem AWS-Konto her.

Nach der Installation stehen Ihnen eine Reihe neuer AWS-Lambda-Funktionsvorlagen zur Verfügung.

Überblick und Hauptmerkmale

Um AWS Explorer zu öffnen, gehen Sie zum Menü „View“ (Ansicht), dann zu „Tool Windows“ und wählen Sie „AWS Explorer“ aus.

Im AWS Explorer können Sie in Bezug auf Lambda-Funktionen Folgendes tun:

  • Lambda-Funktionen in AWS aufrufen, alle erforderlichen Parameter übergeben und sich die Antwort ansehen. Das Tool bietet Beispieleingaben zur Simulation von Aufrufen von einer Vielzahl anderer AWS-Services, wodurch Lambda ausgelöst wird.
  • Debuggen Sie Lambda-Funktionen lokal mit dem AWS .NET Mock Lambda Test Tool.
  • Laden Sie ein ZIP-Archiv einer erstellten .NET-Lambda-Funktion hoch.
  • Zeigen Sie die von Lambda-Funktionen generierten Protokolle an (über CloudWatch Logs).

Um eine Lambda-Funktion aufzurufen, öffnen Sie zunächst den AWS Explorer. Gehen Sie dann zum Menü „View“ (Ansicht) und zu „Tool Windows“ und wählen Sie „AWS Explorer“ aus.

Erweitern Sie im AWS Explorer den Abschnitt „Lambda“ und klicken Sie mit der rechten Maustaste auf das Lambda, das Sie aufrufen möchten. Klicken Sie auf „Run '[Remote] …'“ (Ausführen '[Remote]...')

Dadurch wird ein neues Fenster geöffnet, in dem Sie eine Vorlage auswählen können, um die Anfrage aufzurufen.

Oder Sie geben Ihre eigene Anfrage ein.

Klicken Sie auf „Run“ (Ausführen). Nun wird die Ausgabe angezeigt.

Darüber hinaus können alle Lambda-Befehlszeilentools über das Terminal mit Rider verwendet werden.

Befehlszeilen-Tools

Alle verfügbaren Befehlszeilentools funktionieren mit jeder Shell/jede Terminal/jeder Befehlszeile in Windows, Linux und Mac.

Für eine einheitliche Benutzererfahrung auf allen drei Betriebssystemen empfehlen wir jedoch die Verwendung von PowerShell Core. Aufgrund von Unterschieden in der JSON-Codierung in verschiedenen Terminals ist es schwierig, Beispiele bereitzustellen, die überall funktionieren. Diese Probleme verschwinden bei der Verwendung von PowerShell Core. Daher wurden alle Beispiele in diesem Kurs mit PowerShell Core getestet.

AWS-Befehlszeilenschnittstelle (CLI)

Die AWS-Befehlszeilenschnittstelle (CLI) ist ein Open-Source-Tool, mit dem Sie alle AWS-Ressourcen von der Befehlszeile aus verwalten können. Sie können diese Aktionen manuell oder automatisiert mithilfe einer Skriptsprache Ihrer Wahl ausführen. Dieses Tool ist für Windows, Linux und Mac verfügbar.

In den meisten Fällen sollten Sie Version 2 der AWS CLI installieren, da diese die neuesten Features von AWS unterstützt. Sofern Sie keinen bestimmten Grund haben, Version 1 der AWS CLI zu verwenden, sollten Sie bei Version 2 bleiben.

Wenn einem AWS-Service neue Features hinzugefügt werden, wird das AWS-CLI-Tool aktualisiert, damit Sie diese Features verwalten können. Das AWS-CLI-Tool wird häufig aktualisiert, daher sollten Sie nach den neueren Versionen Ausschau halten.

Installation

Die AWS CLI ist für Windows, Linux und Mac verfügbar. Ihre Installationsmethode hängt von Ihrem Betriebssystem ab. Vollständige Anweisungen finden Sie auf der AWS-Seite Installation oder Aktualisierung der neuesten Version der AWS CLI. AWS rät davon ab, die AWS CLI mithilfe einer Paketverwaltungssoftware zu installieren. Verwenden Sie stattdessen den oben angegebenen Link.

Denken Sie daran, dass Sie die AWS CLI von Zeit zu Zeit aktualisieren müssen, um die neuesten Features zu erhalten.

Führen Sie den folgenden Befehl aus, um Ihre Version der AWS CLI zu überprüfen:

aws --version

Sie werden eine Antwort sehen, die ungefähr so aussieht:

aws-cli/2.5.4 Python/3.9.11 Windows/10 exe/AMD64 prompt/off

Dies sagt mir, dass ich Version 2.5.4 der AWS CLI installiert habe.

Um die neueste Version der AWS CLI zu sehen, gehen Sie zu https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst. Unter „CHANGELOG“ finden Sie die Version des neuesten Release. Zum Zeitpunkt der Abfassung dieses Textes ist das 2.7.2, also muss ich meine AWS CLI aktualisieren!

Überblick und Hauptmerkmale

Mit der AWS CLI können Sie Ihre gesamten AWS-Ressourcen verwalten. Die AWS CLI umfasst leistungsstarke Abfrage- und Filterfunktionen, die Ihnen helfen können, die Ressourcen zu finden, nach denen Sie suchen. Wie zu erwarten, können Sie mit der AWS CLI Lambda-Funktionen auflisten, anzeigen, verwalten und aufrufen.

Umfassende Dokumentation mit Beispielen ist in der AWS-CLI-Befehlsreferenz verfügbar.

AWS Lambda für .NET Core – Vorlagen

Mit der AWS CLI können Sie Ihre gesamten AWS-Ressourcen verwalten. Die AWS CLI umfasst leistungsstarke Abfrage- und Filterfunktionen, die Ihnen helfen können, die Ressourcen zu finden, nach denen Sie suchen. Wie zu erwarten, können Sie mit der AWS CLI Lambda-Funktionen auflisten, anzeigen, verwalten und aufrufen.

Umfassende Dokumentation mit Beispielen ist in der AWS-CLI-Befehlsreferenz verfügbar.

AWS Lambda für .NET Core – Vorlagen

Wenn Sie Visual Studio und Rider verwenden, bieten Ihnen die AWS-Toolkits eine Reihe von C#- (und F#)-Projektvorlagen, die Ihnen den Einstieg in die AWS-Lambda-Funktionen erleichtern.

Diese Vorlagen beginnen mit der einfachsten – einer Lambda-Funktion, die eine Zeichenfolge akzeptiert, sie in Großbuchstaben umwandelt und eine Zeichenfolge zurückgibt. Das ist an sich schon sehr einfach, aber ein guter Ausgangspunkt, um zu sehen, wie einfach es ist, Code zu schreiben und ihn in wenigen Minuten in AWS Lambda bereitzustellen.

Es sind auch komplexere Vorlagen verfügbar. Diese richten vollständige .NET-Webanwendungen oder API-Anwendungen ein und erstellen die gesamte erforderliche Infrastruktur für Sie – Rollen, Berechtigungen, Buckets, API-Gateways usw.

Die meisten Projektvorlagen verfügen über ein src-Verzeichnis und ein Testverzeichnis, sodass Sie sofort Modultestfunktionen erhalten, die Sie erweitern können, wenn Ihre Anwendung wächst. Die Testprojekte helfen Ihnen dabei, zu lernen, wie die Lambda-Funktion funktioniert, und bieten eine einfache Möglichkeit, Ihren Code zu debuggen.

Installation

Um die Vorlagen zu installieren, führen Sie den folgenden Befehl aus:

dotnet new -i "Amazon.Lambda.Templates::*"

Überblick und Hauptmerkmale

Nach Abschluss der Installation verwenden Sie den Befehl dotnet new, um neue Lambda-Funktion-Projekte zu erstellen.

Führen Sie den folgenden Befehl aus, um die Liste der verfügbaren Projektvorlagen anzuzeigen:

dotnet new lambda --list

Sie werden eine Ausgabe sehen, die wie folgt aussieht (beachten Sie, dass sich die verfügbaren Vorlagen regelmäßig ändern):

Möglicherweise stellen Sie fest, dass der Kurzname einiger Vorlagen mit „serverless“ beginnt, während manche mit „Lambda“ beginnen.

Diejenigen, die mit „serverless“ beginnen, verwenden das AWS Serverless Application Model (SAM), um die Lambda-Funktion bereitzustellen und die erforderliche Infrastruktur aufzubauen, die die Lambda-Funktion verwenden wird. AWS SAM ist ein Open-Source-Framework, mit dem Sie serverlose Anwendungen in AWS erstellen können. Neben der Definition der Lambda-Funktion können Sie mit AWS SAM auch andere Ressourcen wie API-Gateways, Datenbanken und Ereignisquellen definieren.

Wenn Sie zum Verzeichnis projectname/src/projectname navigieren, sehen Sie eine Datei namens „serverless.template“. Diese definiert die erforderliche Infrastruktur und wie sie mit der Lambda-Funktion verbunden ist. Bei allen oben aufgeführten „Serverless“-Vorlagen wird ein API-Gateway verwendet, um HTTP-Anfragen an die Lambda-Funktion weiterzuleiten.

Die Vorlagen, die mit „Lambda“ beginnen, verwenden nicht das Serverless-Anwendungsmodell und richten keine andere Infrastruktur ein. Wenn eine andere Infrastruktur erforderlich ist, müssen Sie diese selbst einrichten. Die lambda.Kinesis-Projektvorlage zeigt Ihnen beispielsweise, wie Sie eingehende Kinesis-Ereignisse verarbeiten, aber sie erstellt NICHT die Kinesis-Streams für Sie und fügt NICHT die entsprechenden Berechtigungen hinzu, die Kinesis benötigt, um die Lambda-Funktion auszulösen.

Um ein neues Projekt basierend auf der lambda.EmptyFunction-Vorlage zu erstellen, führen Sie Folgendes aus:

dotnet new lambda.EmptyFunction

Es handelt sich um ein Open-Source-Tool, das auf GitHub eingesehen werden kann,

https://github.com/aws/aws-lambda-dotnet#dotnet-cli-templates.

Wie bei den anderen Befehlszeilentools sollten Sie die entsprechenden GitHub-Seiten im Auge behalten, um zu sehen, wann neue Versionen veröffentlicht werden.

AWS-Erweiterungen für .NET CLI (dotnet lambda ...)

Während Sie mit dem AWS-CLI-Tool alle AWS-Ressourcen verwalten können, konzentrieren sich die AWS-Erweiterungen für .NET CLI speziell auf Lambda-Funktionen und werden als .NET-Tool aufgerufen, d. h. dotnet lambda.

Installation

Führen Sie Folgendes aus, um die AWS-Erweiterung für.NET CLI zu installieren:

dotnet tool install -g Amazon.Lambda.Tools

Führen Sie folgenden Befehl aus, um zu überprüfen, ob sie korrekt installiert ist:

dotnet lambda

Dadurch werden eine Zusammenfassung der Befehle, die Sie verwenden können, und eine Versionsnummer ausgegeben.

Überblick und Hauptmerkmale

Dieses Tool funktioniert von jeder Shell aus und ist besonders nützlich, wenn es vom Terminal in Visual Studio Code and Rider aus verwendet wird. Es ermöglicht Ihnen, allgemeine Aufgaben im Zusammenhang mit Lambda-Funktionen auszuführen.

Um beispielsweise alle Lambda-Funktionen aufzulisten, können Sie Folgendes verwenden:

dotnet lambda list-functions

Oder wenn Sie eine Lambda-Funktion aufrufen wollen, führen Sie Folgendes aus:

dotnet lambda invoke-function functionName 

Es kann auch Lambda-Funktionen bereitstellen. Nachdem Sie eine Lambda-Funktion mit dotnet-Lambda-Vorlagen erstellt haben (siehe oben), können Sie die Funktion in AWS bereitstellen, indem Sie -

dotnet lambda deploy-function

Dadurch werden ein Build- und ein geführter Bereitstellungsprozess eingeleitet. Das Tool fragt Sie nach dem Namen der Lambda-Funktion und der Rolle, die der Funktion zugewiesen werden soll (oder Sie erstellen eine neue). Wenn Sie eine neue Rolle erstellt haben, werden Sie aufgefordert, eine Berechtigungsrichtlinie für diese neue Rolle auszuwählen. Dann stellt das Tool die Funktion in AWS bereit und innerhalb weniger Sekunden können Sie sie aufrufen!

Um alle verfügbaren Befehlszeilenoptionen zu sehen, verwenden Sie:

dotnet lambda deploy-function --help

Denken Sie daran, dass hinter jedem Befehl viele Funktionen stehen können. Daher ist es wichtig zu verstehen, dass jede Befehlszeile mehrere Optionen unterstützt. In der update-function-config aktivieren und konfigurieren Sie beispielsweise Lambda-Funktions-URLs. Diese Funktion ist im Befehl deploy-function nicht verfügbar. Es ist wichtig, die neueste Versionsdokumentation und die neuesten Features des Lambda-Service zu haben, da Sie so die neuesten Features besser verstehen und nutzen können.

Dieses Tool ist zwar sehr praktisch und leistungsstark für die Verwaltung von Lambda-Funktionen bei der Entwicklung von Code und beim Erlernen von AWS. Wir empfehlen Ihnen jedoch dringend, einen robusten CI/CD-Prozess für die Bereitstellung in Ihren Anwendungen zu verwenden, wenn diese einen bestimmten Reifegrad erreicht haben. AWS unterstützt alle wichtigen CI/CD-Tools.

AWS Tools für PowerShell

Die AWS Tools für PowerShell stellen das AWS SDK für .NET über eine Reihe von PowerShell-Modulen bereit. Für diejenigen, die mit PowerShell-Skripting vertraut sind, sind sie daher ein leistungsstarkes Tool zum Schreiben von Bereitstellungs- und Wartungsskripten.

Die AWS Tools für PowerShell können auf Windows, Mac und Linux installiert werden und bieten auf allen drei Plattformen identische Features.

Die Tools sind in einem einzelnen Modul oder in einer modularisierten Version verfügbar, in der Sie die erforderlichen Module nach Bedarf herunterladen können.

Die modularisierte Version wird für Produktionsumgebungen empfohlen.

Weitere Informationen zur Auswahl zwischen diesen Versionen finden Sie hier.

Installation

Informationen zur Installation in Windows finden Sie im Installationshandbuch zu AWS Tools für PowerShell in Windows.

Informationen zur Installation in Linux oder Mac finden Sie im Installationshandbuch AWS Tools für PowerShell in Linux oder macOS.

Überblick und Hauptmerkmale

Die Anzahl der Module sowie der Befehle, die von AWS Tools für PowerShell ausgeführt werden können, ist sehr groß. In Bezug auf AWS Lambda können Sie die Tools verwenden, um Funktionen aufzulisten, anzuzeigen, bereitzustellen, zu verwalten und aufzurufen.

Um alle verfügbaren Befehle zu sehen, führen Sie folgenden Befehl aus:

Get-Command -Module AWS.Tools.Lambda

Die vollständige Dokumentation für alle Befehle finden Sie in der Cmdlet-Referenz zu AWS Tools für PowerShell. Navigieren Sie zum Abschnitt „Lambda“ in der linken Leiste.

Um alle Lambda-Funktionen aufzulisten, führen Sie folgenden Befehl aus:

Get-LMFunctionList

Um eine Lambda-Funktion aufzurufen, führen Sie Folgendes aus:

$Response=Invoke-LMFunction -FunctionName StringToUpperCase -Payload '"hello world"'

[System.IO.StreamReader]::new($Response.Payload).ReadToEnd() 

Docker für Native-AOT-Funktionen von .NET 7

Im November 2022 veröffentlichte Microsoft .NET 7. Obwohl es für diese Version von .NET keine von Lambda verwaltete Laufzeit gibt, können Sie sie als benutzerdefinierte Laufzeit mit nativer Ahead-of-Time (AOT)-Kompilierung verwenden.

 Der Hauptvorteil dieses Ansatzes sind deutlich schnellere Kaltstarts für .NET-7-Funktionen. In Tests mit vergleichbaren Funktionen, auf denen .NET 6 mit einer verwalteten Laufzeit und .NET 7 mit AOT-Kompilierung ausgeführt wird, wird die Funktion .NET 7 bis zu 86 % schneller gestartet.

Weitere Informationen zu serverlosen .NET-Anwendungen in AWS finden Sie in diesem Beitrag: Serverlose .NET-Anwendungen in AWS Lambda mithilfe von.NET 7 erstellen.

Um die Kompilierung mit .NET-7-Lambda-Funktionen zu verwenden, müssen Sie Docker installieren und ausführen.
Sie können Docker aus der Docker-Installationsübersicht herunterladen.

Vergleich ausgewählter Tools

Wissensabfrage

Sie haben jetzt Modul 2, Tools für die .NET-Entwicklung mit AWS Lambda, abgeschlossen. Mit dem folgenden Test können Sie überprüfen, was Sie bisher gelernt haben.

1. Welches AWS-Toolkit für eine IDE hat die meisten Features? (Wählen Sie eine Antwort aus)

a. Visual Studio Code

b. Visual Studio

c. Rider

d. Sie haben alle dieselben Features

2. Welche Betriebssysteme unterstützen die AWS-Erweiterungen für .NET CLI?

a. Mac

b. Linux

c. Windows

d. Alle der oben Genannten

a. Homebrew

b. Pip

c. Chocolatey

d. Direkt von AWS herunterladen

Antworten: 1-b, 2-d, 3-d

Zusammenfassung

In diesem Modul haben Sie die beliebtesten und wichtigsten Tools für die Entwicklung von .NET-Lambda-Funktionen kennengelernt. Sie wissen jetzt, welche Tools verfügbar sind und wie man sie installiert, kennen einige Grundlagen ihrer Verwendung und haben Links zu weiterführenden Informationen erhalten.

Aber wie bei vielen so Dingen lernen Sie am besten, indem Sie mit dem Experimentieren beginnen. Im nächsten Modul lernen Sie, wie Sie .NET mit dem Lambda-Service verwenden.

War diese Seite hilfreich?

.NET IN AWS LAMBDA