AWS SAM -Vorlage

AWS SAM -Vorlage

Eine serverlose Anwendung kann mithilfe von Diensten erstellt werden, die von AWS wie AWS Serverlosen Anwendungsmodell (SAM) bereitgestellt werden. AWS bietet AWS SAM CLI für die Entwicklung von Anwendungen basierend auf SAM. Es erleichtert eine Ausführungsumgebung, die Lambda ähnelt, um Anwendungen zu bauen, zu testen und zu debuggen, die von SAM -Vorlagen bereitgestellt werden. Mit AWS SAM CLI können wir die SAM -Anwendung in AWS bereitstellen.

Was werden wir abdecken??

In dieser Anleitung werden wir AWS SAM -Vorlage erkunden.

Was ist AWS Sam??

AWS SAM wird zur Entwicklung serverloser Anwendungen auf AWS verwendet. Sowohl Sam als auch Sam Cli stehen unter einer Open-Source-Lizenz. SAM definiert die Ressourcen, die in serverlosen Anwendungen verwendet werden. 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.

Merkmale von AWS Sam

Das AWS SAM kann in andere AWS -Dienste integriert werden und bietet daher mehrere Vorteile für die Entwicklung von serverlosen Anwendungen:

  1. Die Verwendung von AWS SAM, die Organisation entsprechender Komponenten und Ressourcen ist vereinfacht. Man kann es verwenden, um die Konfiguration zwischen Ressourcen zu verteilen, und alle entsprechenden Ressourcen können gemeinsam bereitgestellt werden.
  1. Während der Bereitstellung werden die SAM -Syntaxe in native AWS -CloudFormation -Syntaxe erweitert. Dies bietet uns die Möglichkeit, eine zuverlässige Bereitstellung mit CloudFormation zu erhalten.
  1. Wir können serverlose Anwendungen in vielen Laufzeitsprachen entwickeln. Mit dem Sam CLI können wir die serverlosen Anwendungen lokal erstellen, Piloten laufen und beheben. Außerdem kann die Sam CLI in die von AWS bereitgestellten Toolkits integriert werden.
  1. AWS SAM CLI kann auf vielen wichtigen Linux -basierten Distributionen, Mac und Windows installiert werden.

Blick in die SAM -Vorlage

Eine AWS -SAM -Vorlage ähnelt der AWS -CloudFormation -Vorlage sehr. Es gibt jedoch einige wichtige Unterschiede zwischen den beiden in Bezug auf die folgenden Vorlagenabschnitte:

  1. Abschnitt Transformation: Eine AWS-SAM-Vorlage verwendet eine explizit.
  1. Globals -Abschnitt: AWS SAM hat einen einzigartigen Abschnitt Globals, der die Ressourcen mit gemeinsamen Konfigurationen erklärt. Der Abschnitt Globals funktioniert mit der AWS :: Serverless :: Function, AWS :: Serverless :: API, AWS :: Serverless :: Httpapi und AWS :: Serverless :: SimpleTable Ressourcen.
  1. Ressourcenabschnitt: Der Abschnitt Ressourcen der AWS -SAM -Vorlage kann auch CloudFormationsressourcen enthalten.
  1. Parameter Abschnitt: Die SAM -Vorlage enthält einen Parameterabschnitt zum Übergeben von Werten zur Laufzeit. Dieser Abschnitt enthält Objekte, mit denen der Befehl "SAM Deploy -bereitgestellt" zusätzliche Eingabeaufforderungen an einen Benutzer erstellt hat.

Die verbleibenden Vorlagenabschnitte…

Neben den oben genannten Abschnitten werden verbleibende Abschnitte mit dem Abschnitt CloudFormation Vorlagendatei mit dem entsprechenden Namen entstehen. AWS SAM -Vorlage benötigt nur die Abschnitte Transformation und Ressourcen als Muss. Wir können jedoch auch andere Abschnitte hinzufügen. Abgesehen vom obigen Abschnitt können wir auch den folgenden Abschnitt in AWS SAM -Vorlage haben:

  1. Beschreibung: Es enthält eine optionale Beschreibung der Vorlage.
  1. Metadaten: Es ist auch ein optionaler Abschnitt, der weitere Informationen über die Vorlage enthält.
  1. Zuordnungen: Eine Schlüsselzuordnung mit ihren entsprechenden Werten zur Angabe der bedingten Parameterwerte.
  1. Bedingungen: Es enthält Regeln oder Anforderungen, die regieren Wenn spezifisch Ressourcen werden generiert oder wenn bestimmte Eigenschaften einer Ressource beim Erstellen oder Aktualisieren eines Stacks einen Wert erhalten.
  1. Ausgänge: Es deklariert die Werte, die zurückgegeben werden, wenn die Eigenschaften eines Stapels angezeigt werden.

Die oben beschriebenen Vorlagenabschnitte können in beliebiger Reihenfolge hinzugefügt werden. Man sollte sich jedoch an eine logische Reihenfolge halten. AWS SAM CLI hat eine Konfigurationsdatei des TOML -Dateiformates. Diese Datei, benannt als als Samconfig.Toml, Hält Standardparameter für die SAM CLI -Befehle fest.

Verwenden Sie das Befehlsformat, um eine AWS -SAM -Vorlage zu überprüfen:

SAM Validate [Optionen]

Beispiel SAM -Vorlage

Hier finden Sie Beispielvorlagen von AWS SAM mit bestimmten Abschnitten und den entsprechenden Stichprobenanforderungen, die mit dem '' angezeigt werdenSAM einsetzen -Guided' Befehl:

Parameter Abschnitt:

Parameter:
Ourpar:
Typ: Zeichenfolge
Standard: OurPalval
Beispielausgabeaufforderung:
Parameter Ourpar [OurParval]:

Ressourcenabschnitt:

Ressourcen:
Hallo Welt:
Typ: AWS :: Serverless :: Funktion
Eigenschaften:
Codeuri: Hallo_World/
Handler: App.lambda_handler
Laufzeit: Python3.7
CodessigningConfigarn: ARN: AWS: Lambda: US-East-1: xxxxxxxxxxxx: Code-Signing-Config: CSC-12E12345DB1234567
Beispielausgabeaufforderung:
#Found Code Signing -Konfigurationen in Ihren Funktionsdefinitionen
Möchten Sie Ihren Code unterschreiben?? [Y/n]:
#Please Geben Sie Signaturprofildetails für die folgenden Funktionen und Ebenen an
#Signing -Profildetails für die Funktion 'HelloWorld'
Profilname signieren:
Signing Profile Eigentümerkonto -ID (optional):
#Signing -Profildetails für Layer 'Mylayer', die von Funktionen verwendet wird 'HelloWorld'
Profilname signieren:
Signing Profile Eigentümerkonto -ID (optional):

Abschluss

In diesem Leitfaden haben wir die AWS SAM -Vorlage untersucht. Als nächstes können Sie versuchen, eine einfache Hello World Serverless -Anwendung mit einer AWS -SAM -Vorlagendatei bereitzustellen.