Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utiliser des variables dynamiques dans votre document de flux de travail
Vous pouvez utiliser des variables dynamiques dans vos documents de flux de travail pour représenter des valeurs qui varient au moment de l'exécution de votre processus de création d'image. L'interpolation de chaînes pour les variables dynamiques vous permet d'intégrer des JSONPath expressions dans du contenu structuré tel que des chaînes JSON. Cela est particulièrement utile lorsque vous devez transmettre des valeurs d'exécution dans des charges utiles complexes à des actions par étapes telles que ou. ExecuteStateMachine WaitForAction
Pour utiliser l'interpolation de chaînes pour les variables dynamiques, placez les JSONPath expressions entre accolades "{{...}}" doubles dans le contenu de votre chaîne. Seules JSONPath les expressions entourées de doubles accolades sont traitées comme des variables. Toute JSONPath expression qui n'est pas entourée d'accolades doubles est traitée comme du contenu de chaîne littéral.
JSONPath syntaxe des variables de flux de travail dynamique
$.<document structure>.[<step name>.]<variable name>
Les valeurs des variables dynamiques sont représentées sous forme de JSONPath sélecteurs dotés de nœuds structurels qui identifient de manière unique la variable cible. Le premier nœud après la racine ($) fait référence à la structure du document du flux de travail, telle questepOutputs, ou dans le cas des variables système Image Builder,imageBuilder. La liste suivante contient les nœuds de structure JSONPath de documents de flux de travail pris en charge.
Nœuds de structure de document
-
paramètres - Les paramètres du flux de travail
-
StepOutputs - Sorties d'une étape du même document de flux de travail
-
WorkflowOutputs - Sorties d'un document de flux de travail déjà exécuté
-
imagebuilder - Variables système Image Builder
Les nœuds parameters et structure du stepOutputs document incluent un nœud facultatif pour le nom de l'étape. Cela permet de garantir des noms de variables uniques pour toutes les étapes.
Le dernier nœud de JSONPath est le nom de la variable cible, par exempleinstanceId.
Chaque étape peut faire référence au résultat de toute action d'étape précédente avec ces variables JSONPath dynamiques. Ceci est également connu sous le nom de chaînage ou de référencement. Pour faire référence au résultat d'une action d'une étape précédente, vous pouvez utiliser la variable dynamique suivante.
$.stepOutputs.step-name.output-name
Important
Lorsqu'un paramètre d'entrée fait référence à une variable dynamique, l'indicateur de chaînage (.$) doit être attaché à la fin du nom du paramètre.
Exemple 1 : indicateur de chaînage des paramètres d'entrée
L'exemple suivant montre un paramètre d'entrée qui utilise l'interpolation de chaîne pour résoudre une variable dynamique dans la valeur du paramètre lors de l'exécution.
- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
Exemple 2 : interpolation de chaînes dans des variables dynamiques
L'exemple suivant montre comment les variables dynamiques utilisent l'interpolation de chaînes pour déterminer les valeurs lors de l'exécution.
- 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 }}" }
Dans cet exemple, les JSONPath expressions placées entre accolades doubles sont résolues lors de l'exécution :
-
{{ $.stepOutputs.CreateImageFromInstance.imageId }}- Correspond à l'identifiant réel de l'image à partir de l' CreateImageFromInstance étape -
{{ $.imagebuilder.dateTime }}- Corrige à l'horodatage de construction actuel. Consultez Utiliser les variables système Image Builder la liste des variables système Image Builder que vous pouvez utiliser. -
{{ $.stepOutputs.LaunchStep.instanceType }}- Résout au type d'instance utilisé dans LaunchStep
Les chaînes littérales "region": "us-east-1" restent inchangées.
Note
L'interpolation de chaînes fonctionne avec n'importe quel contenu de chaîne de votre document de flux de travail, y compris les chaînes multilignes à l'aide de l'opérateur YAML pipe ()|. L'exigence d'orthèse bouclée agit comme un mécanisme d'échappement permettant de faire clairement la distinction entre les JSONPath variables et le contenu du texte littéral.
Utiliser les variables système Image Builder
Image Builder fournit les variables système suivantes que vous pouvez utiliser dans votre document de flux de travail :
|
Nom de la variable |
Description |
Type |
Exemple de valeur |
|---|---|---|---|
|
cloudWatchLogGroupe |
Nom du groupe CloudWatch Logs pour les logs de sortie. Format : |
Chaîne |
|
|
cloudWatchLogStream |
Nom du flux CloudWatch Logs pour les logs de sortie. |
Chaîne |
|
|
collectImageMetadata |
Le paramètre qui indique à Image Builder s'il doit collecter les métadonnées de l'instance. |
Booléen |
|
|
collectImageScanConclusions |
La valeur actuelle du paramètre qui permet à Image Builder de collecter les résultats de numérisation d'images. |
Booléen |
|
|
imageBuildNumber |
Numéro de version de compilation de l'image. |
Entier |
|
|
imageId |
ID AMI de l'image de base. |
Chaîne |
|
|
Nom de l'image |
Le nom de l'image. |
Chaîne |
|
|
imageType |
Type de sortie d'image. |
Chaîne |
|
|
imageVersionNumber |
Numéro de version de l'image. |
Chaîne |
|
|
instanceProfileName |
Nom du rôle de profil d'instance utilisé par Image Builder pour lancer les instances de génération et de test. |
Chaîne |
|
|
platform |
La plate-forme du système d'exploitation de l'image créée. |
Chaîne |
|
|
Journaux S3 |
Objet JSON contenant la configuration des journaux S3 écrits par Image Builder. |
Objet JSON |
{'S3Logs' : {'s3 BucketName ':' ', |
|
securityGroups |
Le groupe de sécurité IDs qui s'applique à la création et au test des instances. |
Liste [Chaîne] |
|
|
Source ImageLearn |
Le nom de ressource Amazon (ARN) de la ressource d'image Image Builder que le flux de travail utilise pour les étapes de création et de test. |
Chaîne |
arn:aws:imagebuilder : ::image/ |
|
subnetId |
ID du sous-réseau dans lequel lancer les instances de génération et de test. |
Chaîne |
|
|
terminateInstanceOnDéfaillance |
La valeur actuelle du paramètre qui indique à Image Builder de mettre fin à l'instance en cas de défaillance ou de la conserver à des fins de dépannage. |
Booléen |
|
|
Phase du flux de travail |
L'étape en cours d'exécution pour l'exécution du flux de travail. |
Chaîne |
|
|
workingDirectory |
Le chemin d'accès au répertoire de travail. |
Chaîne |
|