Verwenden Sie dynamische Variablen in Ihrem Workflow-Dokument - EC2Image Builder

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. Dynamische Variablenwerte werden als JSONPath Selektoren mit Strukturknoten dargestellt, die die Zielvariable eindeutig identifizieren.

JSONPathdynamische Workflow-Variablenstruktur

$.<document structure>.[<step name>].<variable name>

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 Strukturknoten für JSONPath Workflow-Dokumente.

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 in der JSONPath ist der Name der Zielvariablen, z. instanceId B.

Jeder Schritt kann sich auf die Ausgabe aller Aktionen eines vorherigen Schritts mit diesen JSONPath dynamischen 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

Beispiel

- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"

Verwenden Sie Image Builder Builder-Systemvariablen

Image Builder stellt die folgenden Systemvariablen bereit, die Sie in Ihrem Workflow-Dokument verwenden können:

Variablenname

Beschreibung

Typ

Beispielwert

cloudWatchLogGruppe

Der Name der CloudWatch Protokollgruppe für Ausgabeprotokolle.

Format: /aws/imagebuilder/<recipe-name>

String

/aws/imagebuilder/sampleImageRecipe

cloudWatchLogStreamen

Der Name des CloudWatch Logs-Streams für Ausgabeprotokolle.

String

1.0.0/1

collectImageMetadata

Die Einstellung, die Image Builder anweist, ob Instanzmetadaten erfasst werden sollen.

Boolesch

true | false

collectImageScanErgebnisse

Der aktuelle Wert der Einstellung, die es Image Builder ermöglicht, Bildscanergebnisse zu sammeln.

Boolesch

true | false

imageBuildNumber

Die Build-Versionsnummer des Images.

Ganzzahl

1

imageId

Die AMI ID des Basis-Images.

String

ami-1234567890abcdef1

imageName

Der Name des Image.

String

sampleImage

imageType

Der Bildausgabetyp.

String

AMI | Docker

imageVersionNumber

Die Versionsnummer des Bildes.

String

1.0.0

instanceProfileName

Der Name der Instanzprofilrolle, die Image Builder zum Starten von Build- und Testinstanzen verwendet.

String

SampleImageBuilderInstanceProfileRole

platform

Die Betriebssystemplattform des erstellten Images.

String

Linux | Windows | MacOS

S3-Protokolle

Ein JSON Objekt, das die Konfiguration für die S3-Protokolle enthält, die Image Builder schreibt.

JSONObjekt

{'s3Logs': {'s3 BucketName ':'sample-bucket', KeyPrefix 's3': 'ib-logs'}}

securityGroups

Die SicherheitsgruppeIDs, die für Build- und Test-Instances gilt.

Liste [Zeichenfolge]

[sg-1234567890abcdef1, sg-11112222333344445]

sourceImageARN

Der Amazon-Ressourcenname (ARN) der Image Builder Builder-Image-Ressource, die der Workflow für Build- und Testphasen verwendet.

String

arn:aws:imagebuilder:us-east-1:111122223333:bild/sampleImage/1.0.0/1

subnetId

Die ID des Subnetzes, in dem die Build- und Test-Instances gestartet werden sollen.

String

subnet-1234567890abcdef1

terminateInstanceOnFehlschlag

Der aktuelle Wert der Einstellung, die Image Builder anweist, die Instanz bei einem Fehler zu beenden oder sie zur Fehlerbehebung beizubehalten.

Boolesch

true | false

workflowPhase

Die aktuelle Phase, in der die Workflow-Ausführung ausgeführt wird.

String

Build | Test

workingDirectory

Der Pfad zum Arbeitsverzeichnis.

String

/tmp