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.
Verwenden Sie dynamische Variablen in Ihrem Workflow-Dokument
Sie können dynamische Variablen in Ihren Workflow-Dokumenten verwenden, um Werte darzustellen, die zur Laufzeit Ihres Image-Erstellungsprozesses variieren. Die Zeichenketteninterpolation für dynamische Variablen ermöglicht es Ihnen, JSONPath-Ausdrücke in strukturierte Inhalte wie JSON-Zeichenketten einzubetten. Dies ist besonders nützlich, wenn Sie Laufzeitwerte innerhalb komplexer Nutzlasten an Schrittaktionen wie oder übergeben müssen. ExecuteStateMachine WaitForAction
Um die Zeichenketteninterpolation für dynamische Variablen zu verwenden, setzen Sie JSONPath-Ausdrücke innerhalb Ihres Zeichenketteninhalts in doppelte geschweifte Klammern. "{{...}}" Nur JSONPath-Ausdrücke, die in doppelte geschweifte Klammern eingeschlossen sind, werden als Variablen verarbeitet. Alle JSONPath-Ausdrücke, die nicht in doppelte geschweifte Klammern eingeschlossen sind, werden als wörtliche Zeichenketteninhalte behandelt.
Syntax der dynamischen JSONPath-Workflow-Variablen
$.<document structure>.[<step name>.]<variable name>
Dynamische Variablenwerte werden als JSONPath-Selektoren mit Strukturknoten dargestellt, die die Zielvariable eindeutig identifizieren. Der erste Knoten nach dem Stamm ($) bezieht sich auf die Workflow-Dokumentstruktur, z. B. oderstepOutputs, im Fall von Image Builder Builder-Systemvariablen,imageBuilder. Die folgende Liste enthält unterstützte JSONPath-Workflow-Dokumentstrukturknoten.
Knoten für die Dokumentstruktur
-
Parameter — Die Workflow-Parameter
-
StepOutputs — Ausgaben aus einem Schritt im selben Workflow-Dokument
-
WorkflowOutputs — Ausgaben aus einem Workflow-Dokument, das bereits ausgeführt wurde
-
imagebuilder - Image Builder Builder-Systemvariablen
Die Knoten parameters und die stepOutputs Dokumentstruktur enthalten einen optionalen Knoten für den Schrittnamen. Dadurch wird sichergestellt, dass in allen Schritten eindeutige Variablennamen verwendet werden.
Der letzte Knoten im JSONPath ist der Name der Zielvariablen, z. B. instanceId
Jeder Schritt kann sich auf die Ausgabe aller Aktionen eines vorherigen Schritts mit diesen dynamischen JSONPath-Variablen beziehen. Dies wird auch als Verkettung oder Referenzierung bezeichnet. Um auf die Ausgabe einer Aktion aus einem vorherigen Schritt zu verweisen, können Sie die folgende dynamische Variable verwenden.
$.stepOutputs.step-name.output-name
Wichtig
Wenn sich ein Eingabeparameter auf eine dynamische Variable bezieht, muss der Verkettungsindikator (.$) an das Ende des Parameternamens angehängt werden.
Beispiel 1: Indikator für die Verkettung von Eingabeparametern
Das folgende Beispiel zeigt einen Eingabeparameter, der Zeichenketteninterpolation verwendet, um zur Laufzeit eine dynamische Variable im Parameterwert aufzulösen.
- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
Beispiel 2: Zeichenketteninterpolation in dynamischen Variablen
Das folgende Beispiel zeigt, wie dynamische Variablen Zeichenketteninterpolation verwenden, um Werte zur Laufzeit zu bestimmen.
- name: ValidateImageConfiguration action: ExecuteStateMachine inputs: stateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:ImageValidation input: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-east-1", "buildDate": "{{ $.imagebuilder.dateTime }}", "instanceType": "{{ $.stepOutputs.LaunchStep.instanceType }}" }
In diesem Beispiel werden die in doppelten geschweiften Klammern eingeschlossenen JSONPath-Ausdrücke zur Laufzeit aufgelöst:
-
{{ $.stepOutputs.CreateImageFromInstance.imageId }}- Löst die tatsächliche Bild-ID aus dem Schritt auf CreateImageFromInstance -
{{ $.imagebuilder.dateTime }}- Löst den aktuellen Build-Zeitstempel auf. Eine Liste der Image Builder Builder-Systemvariablen, die Sie verwenden können, finden Verwenden Sie Image Builder Builder-Systemvariablen Sie unter. -
{{ $.stepOutputs.LaunchStep.instanceType }}- Löst den Instanztyp auf, der in der verwendet wird LaunchStep
Die literalen Zeichenketten wie "region": "us-east-1" bleiben unverändert.
Anmerkung
Die Zeichenketteninterpolation funktioniert mit jedem Zeichenketteninhalt in Ihrem Workflow-Dokument, einschließlich mehrzeiliger Zeichenketten, die den YAML-Operator pipe () verwenden. | Die Anforderung einer geschweiften Klammer dient als Escape-Mechanismus, um klar zwischen JSONPath-Variablen und wörtlichem Textinhalt zu unterscheiden.
Verwenden Sie Image Builder Builder-Systemvariablen
Image Builder stellt die folgenden Systemvariablen bereit, die Sie in Ihrem Workflow-Dokument verwenden können. Dies sind schreibgeschützte Werte, die Image Builder zur Laufzeit auffüllt. Sie verweisen beispielsweise mit dem imagebuilder Dokumentstrukturknoten auf eine Systemvariable. $.imagebuilder.platform
|
Variablenname |
Description |
Typ |
Beispielwert |
|---|---|---|---|
|
Wolke WatchLogGroup |
Der Name der CloudWatch Logs-Gruppe für Ausgabe-Logs. Format: |
Zeichenfolge |
|
|
Wolke WatchLogStream |
Der Name des CloudWatch Logs-Streams für Ausgabeprotokolle. |
Zeichenfolge |
|
|
sammeln ImageMetadata |
Die Einstellung, die Image Builder anweist, ob Instanzmetadaten erfasst werden sollen. |
Boolesch |
|
|
sammeln ImageScanFindings |
Der aktuelle Wert der Einstellung, die es Image Builder ermöglicht, Bildscanergebnisse zu sammeln. |
Boolesch |
|
|
Bild BuildNumber |
Die Build-Versionsnummer des Images. |
Ganzzahl |
|
|
imageId |
Die AMI-ID des Basis-Images. |
Zeichenfolge |
|
|
Name des Bilds |
Der Name des Image. |
Zeichenfolge |
|
|
ImageType |
Der Bildausgabetyp. |
Zeichenfolge |
|
|
Bild VersionNumber |
Die Versionsnummer des Images. |
Zeichenfolge |
|
|
Instanz ProfileName |
Der Name der Instanzprofilrolle, die Image Builder zum Starten von Build- und Testinstanzen verwendet. |
Zeichenfolge |
|
|
platform |
Die Betriebssystemplattform des erstellten Images. |
Zeichenfolge |
|
|
S3-Protokolle |
Ein JSON-Objekt, das die Konfiguration für die S3-Protokolle enthält, die Image Builder schreibt. |
JSON-Objekt |
{'s3Logs': {'s3 BucketName ':' ', 's3 |
|
securityGroups |
Die Sicherheitsgruppen-IDs, die für Build- und Test-Instances gelten. |
Liste [Zeichenfolge] |
|
|
QuelleImageARN |
Der Amazon-Ressourcenname (ARN) der Image Builder Builder-Image-Ressource, die der Workflow für Build- und Testphasen verwendet. |
Zeichenfolge |
arn:aws:imagebuilder: ::image// |
|
subnetId |
Die ID des Subnetzes, in dem die Build- und Test-Instances gestartet werden sollen. |
Zeichenfolge |
|
|
beenden InstanceOnFailure |
Der aktuelle Wert der Einstellung, die Image Builder anweist, die Instanz bei einem Fehler zu beenden oder sie zur Fehlerbehebung beizubehalten. |
Boolesch |
|
|
WorkflowPhase |
Die aktuelle Phase, in der die Workflow-Ausführung ausgeführt wird. |
Zeichenfolge |
|
|
workingDirectory |
Der Pfad zum Arbeitsverzeichnis. |
Zeichenfolge |
|