Synchronisieren von AWS SAM-Anwendungen über das AWS Toolkit for JetBrains
AWS Serverless Application Model (AWS SAM) sam sync
ist ein AWS SAM-CLI-befehlsbasierter Bereitstellungsprozess, der automatisch Änderungen an Ihren serverlosen Anwendungen identifiziert und dann die Methode auswählt, mit der diese Änderungen am besten erstellt und für das AWS Cloud bereitgestellt werden. Wenn Sie nur Änderungen an Ihrem Anwendungscode vorgenommen haben, ohne die Infrastruktur zu ändern, aktualisiert AWS SAM Sync Ihre Anwendung, ohne Ihren AWS CloudFormation-Stack erneut bereitzustellen.
Weitere Informationen zu sam sync
- und AWS SAM-CLI-Befehlen finden Sie im AWS Serverless Application Model-Benutzerhandbuch unter dem Thema AWS SAM-CLI-Befehlsreferenz.
In den folgenden Abschnitten werden die ersten Schritte mit AWS SAM Sync beschrieben.
Voraussetzungen
Für die Verwendung von AWS SAM Sync müssen folgende Voraussetzungen erfüllt sein:
Sie verfügen über eine funktionierende AWS SAM-Anwendung. Weitere Informationen zur Erstellung einer AWS SAM-Anwendung finden Sie in diesem Benutzerhandbuch unter Arbeiten mit AWS SAM.
Bei Ihnen muss mindestens die Version 1.78.0 der AWS SAM CLI installiert sein. Informationen zum Installieren der AWS SAM CLI finden Sie im AWS Serverless Application Model-Benutzerhandbuch unter Installieren der AWS SAM CLI.
Ihre Anwendung wird in einer Entwicklungsumgebung ausgeführt.
Anmerkung
Wenn Sie eine serverlose Anwendung synchronisieren und bereitstellen möchten, die eine AWS Lambda-Funktion mit nicht standardmäßigen Eigenschaften enthält, müssen vor der Bereitstellung die optionalen Eigenschaften in der AWS SAM-Vorlagendatei festgelegt werden, die der AWS Lambda-Funktion zugeordnet ist.
Weitere Informationen zu AWS Lambda-Eigenschaften finden Sie auf GitHub im AWS Serverless Application Model-Benutzerhandbuch im Abschnitt AWS::Serverless::Function
Erste Schritte
Führen Sie das folgende Verfahren aus, um mit der Verwendung von AWS SAM Sync zu beginnen.
Anmerkung
Vergewissern Sie sich, dass die AWS-Region auf den Standort festgelegt ist, der Ihrer serverlosen Anwendung zugeordnet ist.
Weitere Informationen zum Ändern Ihrer AWS-Region über das AWS Toolkit for JetBrains finden Sie in diesem Benutzerhandbuch unter Wechseln zwischen AWS-Regionen.
Öffnen Sie per Rechtsklick in Ihrem serverlosen Anwendungsprojekt im Werkzeugfenster Projekt das Kontextmenü für die Datei
template.yaml
.Wählen Sie im Kontextmenü für
template.yaml
die Option Serverlose Anwendung synchronisieren (ehemals „Bereitstellen“) aus, um das Dialogfeld Entwicklungs-Stack bestätigen zu öffnen.Vergewissern Sie sich, dass Sie von einem Entwicklungs-Stack aus arbeiten, um das Dialogfeld Serverlose Anwendung synchronisieren zu öffnen.
Durchlaufen Sie die Schritte im Dialogfeld Serverlose Anwendung synchronisieren und wählen Sie anschließend Synchronisieren aus, um den AWS SAM-Sync-Prozess zu starten. Weitere Informationen zum Dialogfeld Serverlose Anwendung synchronisieren finden Sie weiter unten im Abschnitt Dialogfeld „Serverlose Anwendung synchronisieren“ .
Während des Synchronisierungsvorgangs wird das Ausführungsfenster des AWS Toolkit for JetBrains mit dem Bereitstellungsstatus aktualisiert.
Nach erfolgreicher Synchronisierung wird der Name Ihres AWS CloudFormation-Stacks dem AWS Explorer hinzugefügt.
Ist die Synchronisierung nicht erfolgreich, finden Sie Details zur Problembehandlung im Ausführungsfenster von JetBrains oder in den Ereignisprotokollen von AWS CloudFormation. Weitere Informationen zum Anzeigen von AWS CloudFormation-Ereignisprotokollen finden Sie in diesem Benutzerhandbuch unter Anzeigen von Ereignisprotokollen für einen Stack.
Dialogfeld „Serverlose Anwendung synchronisieren“
Das Dialogfeld Serverlose Anwendung synchronisieren unterstützt Sie beim AWS SAM-Synchronisierungsprozess. In den folgenden Abschnitten finden Sie Beschreibungen und Details zu den einzelnen Komponenten des Dialogfelds.
„Stack erstellen“ oder „Stack aktualisieren“
Erforderlich: Geben Sie zum Erstellen eines neuen Bereitstellungs-Stacks einen Namen in das dafür vorgesehene Feld ein, um den AWS CloudFormation-Stack zu erstellen und für die Bereitstellung Ihrer serverlosen Anwendung festzulegen.
Alternativ können Sie zur Bereitstellung für einen bereits vorhandenen AWS CloudFormation-Stack den Stack-Namen aus der automatisch aufgefüllten Liste der Stacks auswählen, die Ihrem AWS-Konto zugeordnet sind.
Vorlagenparameter
Optional: Wird mit einer Liste von Parametern aufgefüllt, die in der Datei template.yaml
Ihres Projekts erkannt wurden. Wenn Sie Parameterwerte angeben möchten, können Sie einen neuen Parameterwert in das dafür vorgesehene Textfeld in der Spalte Wert eingeben.
S3 Bucket
Erforderlich: Wenn Sie einen bereits vorhandenen Amazon Simple Storage Service (Amazon S3)-Bucket zum Speichern Ihrer AWS CloudFormation-Vorlage verwenden möchten, wählen Sie ihn aus der Liste aus.
Wenn Sie einen neuen Amazon-S3-Bucket für die Speicherung erstellen und verwenden möchten, wählen Sie Erstellen aus und folgen Sie den Anweisungen.
ECR-Repository
Erforderlich (nur sichtbar bei Verwendung eines Image-Pakettyps): Wählen Sie einen vorhandenen Amazon Elastic Container Registry (Amazon ECR)-Repository-URI für die Bereitstellung Ihrer serverlosen Anwendung aus.
Weitere Informationen zu AWS-Lambda-Pakettypen finden Sie im AWS Lambda-Entwicklerhandbuch im Abschnitt Lambda-Bereitstellungspakete.
CloudFormation-Funktionen
Erforderlich: Wählen Sie die Funktionen aus, die von AWS CloudFormation bei der Erstellung von Stacks verwendet werden dürfen.
Tags (Markierungen)
Optional: Geben Sie Ihre bevorzugten Tags in die dafür vorgesehenen Textfelder ein, um einen Parameter zu taggen.
Funktion innerhalb eines Containers erstellen
Optional, Docker erforderlich: Wenn Sie diese Optionen auswählen, werden Ihre Funktionen für die serverlose Anwendungen vor der Bereitstellung in einem lokalen Docker-Container erstellt. Diese Option ist hilfreich, wenn eine Funktion von Paketen mit nativ kompilierten Abhängigkeiten oder Programmen abhängt.
Weitere Informationen finden Sie im AWS Serverless Application Model-Entwicklerhandbuch unter dem Thema Erstellen von Anwendungen.