Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzate le variabili dinamiche nel documento del flusso di lavoro
È possibile utilizzare variabili dinamiche nei documenti del flusso di lavoro per rappresentare valori che variano in fase di esecuzione per il processo di creazione dell'immagine. L'interpolazione delle stringhe per le variabili dinamiche consente di incorporare espressioni JSONPath all'interno di contenuti strutturati come le stringhe JSON. Ciò è particolarmente utile quando è necessario passare valori di runtime all'interno di payload complessi ad azioni step come o. ExecuteStateMachine WaitForAction
Per utilizzare l'interpolazione di stringhe per le variabili dinamiche, racchiudi le espressioni JSONPath tra doppie parentesi graffe all'interno del contenuto della stringa. "{{...}}" Solo le espressioni JSONPath racchiuse tra parentesi graffe doppie vengono elaborate come variabili. Tutte le espressioni JSONPath non racchiuse tra doppie parentesi graffe vengono trattate come contenuto di stringa letterale.
Sintassi della variabile del flusso di lavoro dinamico JSONPath
$.<document structure>.[<step name>.]<variable name>
I valori delle variabili dinamiche sono rappresentati come selettori JSONPath con nodi strutturali che identificano in modo univoco la variabile di destinazione. Il primo nodo dopo la radice ($) si riferisce alla struttura del documento del flusso di lavoro, ad esempio ostepOutputs, nel caso delle variabili di sistema di Image Builder,. imageBuilder L'elenco seguente contiene i nodi della struttura dei documenti del flusso di lavoro JSONPath supportati.
Nodi della struttura del documento
-
parametri: i parametri del flusso di lavoro
-
StepOutputs - Risultati di una fase dello stesso documento del flusso di lavoro
-
WorkflowOutputs: output di un documento del flusso di lavoro già eseguito
-
imagebuilder - Variabili di sistema di Image Builder
I nodi della struttura stepOutputs del documento parameters e includono un nodo opzionale per il nome del passaggio. Questo aiuta a garantire nomi di variabili univoci in tutti i passaggi.
Il nodo finale in JSONPath è il nome della variabile di destinazione, ad esempio. instanceId
Ogni passaggio può fare riferimento all'output di qualsiasi azione precedente con queste variabili dinamiche JSONPath. Questo è anche noto come concatenamento o riferimento. Per fare riferimento all'output di un'azione precedente, è possibile utilizzare la seguente variabile dinamica.
$.stepOutputs.step-name.output-name
Importante
Quando un parametro di input si riferisce a una variabile dinamica, l'indicatore di concatenamento (.$) deve essere collegato alla fine del nome del parametro.
Esempio 1: indicatore di concatenamento dei parametri di input
L'esempio seguente mostra un parametro di input che utilizza l'interpolazione di stringhe per risolvere una variabile dinamica nel valore del parametro in fase di esecuzione.
- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
Esempio 2: interpolazione di stringhe in variabili dinamiche
L'esempio seguente dimostra come le variabili dinamiche utilizzano l'interpolazione di stringhe per determinare i valori in fase di esecuzione.
- 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 questo esempio, le espressioni JSONPath racchiuse tra doppie parentesi graffe vengono risolte in fase di esecuzione:
-
{{ $.stepOutputs.CreateImageFromInstance.imageId }}- Si risolve nell'ID effettivo dell'immagine indicato nella fase CreateImageFromInstance -
{{ $.imagebuilder.dateTime }}- Si risolve nel timestamp di compilazione corrente. Consulta Usa le variabili di sistema di Image Builder l'elenco delle variabili di sistema di Image Builder che puoi usare. -
{{ $.stepOutputs.LaunchStep.instanceType }}- Si risolve nel tipo di istanza utilizzato in LaunchStep
Le stringhe letterali like rimangono invariate. "region": "us-east-1"
Nota
L'interpolazione delle stringhe funziona con qualsiasi contenuto di stringa nel documento del flusso di lavoro, comprese le stringhe multilinea che utilizzano l'operatore YAML pipe (). | Il requisito delle parentesi graffe funge da meccanismo di escape per distinguere chiaramente tra variabili JSONPath e contenuto di testo letterale.
Usa le variabili di sistema di Image Builder
Image Builder fornisce le seguenti variabili di sistema che è possibile utilizzare nel documento del flusso di lavoro. Si tratta di valori di sola lettura che Image Builder compila in fase di esecuzione. Ad esempio, si fa riferimento a una variabile di sistema con il nodo della struttura del imagebuilder documento. $.imagebuilder.platform
|
Nome della variabile |
Description |
Tipo |
Valore di esempio |
|---|---|---|---|
|
cloud WatchLogGroup |
Il nome del gruppo CloudWatch Logs per i log di output. Formato: |
Stringa |
|
|
cloud WatchLogStream |
Il nome del flusso CloudWatch Logs per i log di output. |
Stringa |
|
|
raccogliere ImageMetadata |
L'impostazione che indica a Image Builder se raccogliere i metadati delle istanze. |
Booleano |
|
|
raccogli ImageScanFindings |
Il valore corrente dell'impostazione che consente a Image Builder di raccogliere i risultati della scansione delle immagini. |
Booleano |
|
|
immagine BuildNumber |
Il numero della versione di build dell'immagine. |
Numero intero |
|
|
imageId |
L'ID AMI dell'immagine di base. |
Stringa |
|
|
Nome dell'immagine |
Il nome dell'immagine. |
Stringa |
|
|
imageType |
Il tipo di output dell'immagine. |
Stringa |
|
|
immagine VersionNumber |
Il numero di versione dell'immagine. |
Stringa |
|
|
istanza ProfileName |
Il nome del ruolo del profilo dell'istanza utilizzato da Image Builder per avviare le istanze di compilazione e test. |
Stringa |
|
|
platform |
La piattaforma del sistema operativo dell'immagine creata. |
Stringa |
|
|
Logs S3 |
Un oggetto JSON che contiene la configurazione per i log S3 scritti da Image Builder. |
Oggetto JSON |
{'S3logs': {'s3 ':BucketName' ', 's3 |
|
securityGroups |
Gli ID dei gruppi di sicurezza che si applicano alle istanze di compilazione e test. |
Elenco [Stringa] |
|
|
Immagine di origine arN |
L'Amazon Resource Name (ARN) della risorsa di immagine Image Builder utilizzata dal flusso di lavoro per le fasi di creazione e test. |
Stringa |
arn:aws:imagebuilder: ::image// |
|
subnetId |
L'ID della sottorete in cui avviare le istanze di compilazione e test. |
Stringa |
|
|
terminare InstanceOnFailure |
Il valore corrente dell'impostazione che indica a Image Builder di terminare l'istanza in caso di errore o di conservarla per la risoluzione dei problemi. |
Booleano |
|
|
Fase del flusso di lavoro |
La fase corrente in esecuzione per l'esecuzione del flusso di lavoro. |
Stringa |
|
|
workingDirectory |
Il percorso della directory di lavoro. |
Stringa |
|