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à.
Creare un documento di YAML flusso di lavoro
Il documento di definizione del YAML formato configura le fasi di input, output e workflow per le fasi di creazione e test del processo di creazione dell'immagine. È possibile iniziare da modelli che includono passaggi standardizzati oppure iniziare da zero per definire il proprio flusso di lavoro. Sia che utilizzi un modello o inizi da zero, puoi personalizzare il flusso di lavoro in base alle tue esigenze.
Struttura di un documento di YAML flusso di lavoro
Il documento del YAML flusso di lavoro utilizzato da Image Builder per eseguire le azioni di creazione e test delle immagini è strutturato come segue.
Identificazione del documento di workflow
Identifica in modo univoco il flusso di lavoro. Questa sezione può includere i seguenti attributi.
Campo |
Descrizione |
Tipo |
Richiesto |
---|---|---|---|
nome |
Il nome del documento del flusso di lavoro. |
Stringa |
No |
description |
La descrizione del documento. |
Stringa |
No |
schemaVersion |
La versione dello schema del documento, attualmente 1.0. |
Stringa |
Sì |
Esempio
--- name: sample-test-image description: Workflow for a sample image, with extra configuration options exposed through workflow parameters. schemaVersion: 1.0
Parametri di input del documento del workflow
Questa parte del documento del flusso di lavoro definisce i parametri di input che il chiamante può specificare. Se non disponi di parametri, puoi omettere questa sezione. Se specificate dei parametri, ogni parametro può includere i seguenti attributi.
Campo |
Descrizione |
Tipo |
Richiesto |
Vincoli |
---|---|---|---|---|
nome |
Nome del parametro. |
Stringa |
Sì |
|
description |
La descrizione del parametro. |
Stringa |
No |
|
default |
Il valore predefinito del parametro, se non viene fornito alcun valore. Se non includete un valore predefinito nella definizione del parametro, il valore del parametro è obbligatorio in fase di esecuzione. |
Corrisponde al tipo di dati del parametro. |
No |
|
tipo |
Il tipo di dati del parametro. Se non includete il tipo di dati nella definizione del parametro, il tipo di parametro per impostazione predefinita è un valore di stringa richiesto in fase di esecuzione. |
Stringa |
Sì |
Il tipo di dati del parametro deve essere uno dei seguenti:
|
Esempio
Specificate il parametro nel documento del flusso di lavoro.
parameters: - name: waitForActionAtEnd type: boolean default: true description: "Wait for an external action at the end of the workflow"
Utilizzate il valore del parametro nel documento del flusso di lavoro.
$.parameters.waitForActionAtEnd
Fasi del documento del workflow
Speciifica fino a 15 azioni in fasi per il flusso di lavoro. Le fasi vengono eseguite nell'ordine in cui sono definite nel documento del flusso di lavoro. In caso di errore, il rollback viene eseguito in ordine inverso, iniziando dal passaggio non riuscito e procedendo a ritroso rispetto ai passaggi precedenti.
Ogni passaggio può fare riferimento all'output di qualsiasi azione del passaggio precedente. Questa operazione è nota come concatenamento o riferimento. Per fare riferimento all'output di un'azione precedente, puoi usare un JSONPath selettore. Per esempio:
$.stepOutputs.
step-name
.output-name
Per ulteriori informazioni, consulta Utilizzate le variabili dinamiche nel documento del flusso di lavoro.
Nota
Anche se la fase stessa non ha un attributo di output, qualsiasi output di un'azione di passaggio è incluso nella stepOutput
fase.
Ogni passaggio può includere i seguenti attributi.
Campo |
Descrizione |
Tipo |
Richiesto |
Valore predefinito |
Vincoli |
---|---|---|---|---|---|
action |
L'azione del flusso di lavoro eseguita da questo passaggio. |
Stringa |
Sì |
Deve essere un'azione graduale supportata per i documenti del flusso di lavoro di Image Builder. |
|
|
Le istruzioni condizionali aggiungono punti decisionali relativi al flusso di controllo al corpo delle fasi del flusso di lavoro. |
Dict |
No |
Image Builder supporta le seguenti istruzioni condizionali come modificatori dell'operatore:
|
|
description |
La descrizione della fase. |
Stringa |
No |
Le stringhe vuote non sono consentite. Se inclusa, la lunghezza deve essere compresa tra 1 e 1024 caratteri. |
|
inputs |
Contiene i parametri necessari per l'esecuzione dell'azione del passaggio. È possibile specificare i valori chiave come valori statici o con una JSONPath variabile che si risolve nel tipo di dati corretto. |
Dict |
Sì |
||
nome |
Il nome della fase. Questo nome deve essere univoco all'interno del documento del flusso di lavoro. |
Stringa |
Sì |
La lunghezza deve essere compresa tra 3 e 128 caratteri. Può includere caratteri alfanumerici e. |
|
onFailure |
Configura l'azione da eseguire in caso di errore del passaggio, come segue. Comportamento
|
Stringa |
No |
|
|
rollbackEnabled |
Configura se il passaggio verrà ripristinato in caso di errore. È possibile utilizzare un valore booleano statico o una JSONPath variabile dinamica che si risolve in un valore booleano. |
Boolean |
No |
|
|
timeoutSeconds |
Il tempo massimo, in secondi, di esecuzione del passaggio prima di fallire e riprovare, se si verificano nuovi tentativi. |
Numero intero |
No |
Dipende dall'impostazione predefinita definita per l'azione della fase, se applicabile. |
Tra 1-86400 secondi (massimo 24 ore) |
Esempio
steps: - name: LaunchTestInstance action: LaunchInstance onFailure: Abort inputs: waitFor: "ssmAgent" - name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId" - name: TerminateTestInstance action: TerminateInstance onFailure: Continue inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId" - name: WaitForActionAtEnd action: WaitForAction if: booleanEquals: true value: "$.parameters.waitForActionAtEnd"
Output dei documenti del flusso di lavoro
Definisce gli output per il flusso di lavoro. Ogni output è una coppia di valori chiave che specifica il nome dell'output e il valore. È possibile utilizzare gli output per esportare dati in fase di esecuzione che i flussi di lavoro successivi possono utilizzare. Questa sezione è facoltativa.
Ogni output definito include i seguenti attributi.
Campo |
Descrizione |
Tipo |
Richiesto |
---|---|---|---|
nome |
Il nome dell'output. Il nome deve essere univoco in tutti i flussi di lavoro che includi nella pipeline. |
Stringa |
Sì |
value |
Il valore per l'output. Il valore della stringa può essere una variabile dinamica, ad esempio un file di output di un'azione graduale. Per ulteriori informazioni, consulta Utilizzate le variabili dinamiche nel documento del flusso di lavoro. |
Stringa |
Sì |
Esempio
Create un ID dell'immagine di output per il documento del flusso di lavoro con l'output del createProdImage
passaggio.
outputs: - name: 'outputImageId' value: '$.stepOutputs.createProdImage.imageId'
Fate riferimento all'output del flusso di lavoro nel flusso di lavoro successivo.
$.workflowOutputs.outputImageId