AWS SAM -Einsatz

AWS SAM -Einsatz
Eine serverlose Anwendung kann mithilfe von Diensten erstellt werden, die von AWS bereitgestellt werden, z. B. AWS Serverless Application Model (SAM). AWS bietet AWS SAM CLI für die Entwicklung von Anwendungen basierend auf SAM. Es erleichtert auch eine Ausführungsumgebung, die Lambda ähnelt, um Anwendungen zu bauen, zu testen und zu debuggen, die von SAM -Vorlagen bereitgestellt werden. Außerdem kann CLI die SAM -Anwendung mit AWS SAM für AWS bereitstellen.

Was werden wir abdecken??

In diesem Handbuch werden wir untersuchen, wie eine AWS -SAM -Anwendung bereitgestellt wird.

Was ist AWS Sam??

AWS Sam ist ein Amazon-Cloud-basierter Dienst für die Entwicklung von serverlosen Anwendungen. Sam sowie Sam Cli sind beide Open-Source-Projekte. SAM definiert die Ressourcen, die in Anwendungen verwendet werden, die auf der serverlosen Architektur basieren. Es verfügt über kurze Syntaxe, um APIs, Funktionen, Datenbanken und Ereignisquellenzuordnungen zu bezeichnen. Die SAM -Syntaxe werden in AWS -CloudFormation -Syntaxe umgewandelt und erweitert. Anwendungen können mit YAML modelliert werden. Auf diese Weise können serverlose Anwendungen schnell erstellt werden.

Der "Sam einsetzen" Befehl

Standardmäßig die sam einsetzen Der Befehl nimmt das aktuelle Verzeichnis als Stammverzeichnis für das Projekt. Erstens sucht die AWS Sam Cli nach einer Vorlagendatei mit dem Namen Vorlage.Yaml im Unterverzeichnis “.AWS-SAM”Wurde durch Ausführen des Sam Build Befehl.

Dann sucht es nach derselben Datei (eine der beiden Vorlagen.Yaml oder Vorlage.YML) im aktuellen Verzeichnis. Wenn ein "-VorlageDie Option wird mit dem Befehl Bereitstellung verwendet. Die Standardeinstellung des AWS Sam Cli wird überschrieben. Es wird dann nur die angegebene AWS -SAM -Vorlage und die lokalen Ressourcen bereitgestellt.

Der sam einsetzen Der Befehl bietet auch einen geführten interaktiven Modus mit dem “-geführt" Möglichkeit. In diesem Modus wird der Benutzer zu verschiedenen Parametern aufgefordert, die für die Bereitstellung erforderlich sind.

Wichtige Sam Cli -Befehle

Sam-init: SAM CLI -Tool kann serverlose Anwendungen mithilfe der AWS -Infrastrukturvorlagen initialisieren. Dies geschieht mit dem “Sam-init" Befehl.

Sam-Build: Ebenso die “Sam-BuildDer Befehl ”wird zum Kompilieren, Erstellen und Verpacken von Lambda -Funktionen mit der angegebenen Laufzeit verwendet.

Sam-lokal: Mit Docker -Containern können „SAM Local“ -Kande die SAM -Anwendung lokal testen, indem sie sie ausführen.

Sam Sync: Der "Sam SyncDer Befehl ”bietet eine Funktion zur Synchronisierung und Überprüfung der Änderungen in der Cloud -Umgebung.

Sam-Deploy: Schließlich führen Sie die "sam einsetzenBefehl zur Bereitstellung Ihrer SAM -Anwendung.

Bereitstellung einer HelloWorld -Anwendung

Nehmen wir ein Beispiel für die AWS SAM -Bereitstellung mithilfe einer Beispielanwendung von HelloWorld. In diesem Beispiel verwendet die HelloWorld -Anwendung ein grundlegendes API -Backend. Informationen zu den in dieser Anwendung verwendeten Komponenten finden Sie im folgenden Diagramm:

Die Lambda -Funktion wird aufgerufen, wenn am API Gateway -Endpunkt eine GET -Anforderung empfangen wird. Als Antwort wird eine Hello World -Nachricht von der Lambda -Funktion zurückgegeben.

Befolgen Sie nun diese Schritte, um diese Anwendung bereitzustellen:

Herunterladen der Beispielanwendung

Führen Sie zunächst den folgenden Befehl aus:

Sam init

Auf dem Bildschirm wird eine Reihe von Eingabeaufforderungen angezeigt. Für die Art der Vorlage bleiben wir an der Option AWS Quick Start -Vorlagen gefolgt von der Hello World -Vorlage:

Wir wählen die Standardoption aus: Python -Laufzeit und Zip -Paket -Typ. Behalten Sie außerdem den Projektnamen als die Standardeinstellung bei: “Sam-App”.

Nachdem Sie die vorherigen Einstellungen ausgeführt haben, sehen Sie die grundlegende Zusammenfassung der Anwendung:

Das Sam-init Der Befehl führt dazu, dass ein Verzeichnis mit dem gleichen Namen erstellt wird wie für den Projektnamen. Beachten Sie außerdem, dass das folgende Verzeichnis viele Unterverzeichnisse und Dateien enthält:

$ Tree sam-App

Dies sind die drei wichtigsten Dateien:

  1. Der "Vorlage.YamlEnthält die AWS -SAM -Vorlage, die die AWS -Ressourcen beschreibt, die die Anwendung umfassen.
  2. App.py”Im Inneren Hallo Welt Ordner, der den Code zum Umgang mit der Lambda -Funktion enthält.
  3. "Anforderungen.txt" in der Hallo Welt Ordner, der Abhängigkeiten enthält, die von der Anwendung erforderlich sind.

Aufbau der Anwendung

Navigieren Sie vor dem Erstellen der Anwendung das Projektverzeichnis mit der Vorlage.YAML -Datei und dann den Befehl Build ausführen. Hier erfahren Sie, wie man dies in einem Schritt macht:

$ cd sam-App && Sam Build

Notiz: Bitte verwenden Sie die erforderliche Version von Python. Andernfalls kann der Befehl Build fehlschlagen.

Bereitstellung der Anwendung

Um die Anwendung mit einem interaktiven Assistenten bereitzustellen, führen Sie schließlich den folgenden Befehl aus:

$ sAM deployment -gesteuert

Bestätigen Sie eine Frage, indem Sie „Y“ eingeben, und drücken Sie die Eingabetaste, um eine Standardoption auszuwählen.

Wenn Sie aufgefordert werden, die Änderungen bereitzustellen, geben Sie "Y" ein:

Nach einigen Verarbeitung sollten Sie eine erfolgreiche Nachricht sehen:

Testen der Anwendung

Verwenden Sie die “Sam LocalBefehl zum Testen der Hello World -Anwendung mit Docker -Containern:

$ sam lokale Start-api

Eine andere Möglichkeit, die Anwendung zu testen, besteht darin, die Lambda -Funktion aufzurufen mit:

$ sam Local Invoke "HelloWorldfunction" -E -Ereignisse/Ereignisse.JSON

Abschluss

In diesem Handbuch haben wir über die Erstellung und Bereitstellung einer AWS -SAM -Anwendung mithilfe einer SAMS -SAM -Vorlage für AWS -AWS abgelegt. Als nächstes können Sie versuchen, Ihre eigene AWS SAM -Anwendung zu entwickeln und bereitzustellen. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in anderen Linux -Hinweisartikeln.