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à.
Un' AWS CodePipeline azione che esegue le seguenti operazioni:
-
Avvia l'esecuzione di una macchina a AWS Step Functions stati dalla pipeline.
-
Fornisce uno stato iniziale alla macchina a stati tramite una proprietà nella configurazione dell'operazione o un file contenuto in un artefatto della pipeline da passare come input.
-
Facoltativamente, imposta un prefisso dell'ID di esecuzione per identificare le esecuzioni che provengono dall'operazione.
-
Supporta macchine a stati Standard ed Express .
Nota
L'azione Step Functions viene eseguita su Lambda e pertanto ha quote di dimensione degli artefatti uguali alle quote di dimensione degli artefatti per le funzioni Lambda. Per ulteriori informazioni, consulta le quote Lambda nella Lambda Developer Guide.
Tipo di operazione
-
Categoria:
Invoke
-
Proprietario:
AWS
-
Provider:
StepFunctions
-
Versione:
1
Parametri di configurazione
- StateMachineArn
-
Campo obbligatorio: sì
L'Amazon Resource Name (ARN) per la macchina a stati da richiamare.
- ExecutionNamePrefix
-
Campo obbligatorio: no
Per impostazione predefinita, l'ID di esecuzione dell'operazione viene utilizzato come nome di esecuzione della macchina a stati. Se viene fornito un prefisso, viene anteposto all'ID di esecuzione dell'operazione con un trattino e utilizzato insieme come nome di esecuzione della macchina a stati.
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
Per una macchina a stati di tipo Express, il nome deve contenere solo caratteri 0-9, A-Z, a-z, - e _.
- InputType
-
Campo obbligatorio: no
-
Literal (Letterale) (impostazione predefinita): se specificato, il valore nel campo Input viene passato direttamente all'input della macchina a stati.
Esempio di voce per il campo Input quando è selezionato Literal (Letterale) :
{"action": "test"}
-
FilePath: Il contenuto di un file nell'elemento di input specificato dal campo Input viene utilizzato come input per l'esecuzione della macchina a stati. Un artefatto di input è richiesto quando InputTypeè impostato su. FilePath
Esempio di immissione per il campo Input quando FilePathè selezionato:
assets/input.json
-
- Input
-
Obbligatorio: condizionale
-
Letterale: quando InputTypeè impostato su Literal (impostazione predefinita), questo campo è facoltativo.
Se fornito, il campo Input viene utilizzato direttamente come input per l'esecuzione della macchina a stati. Altrimenti, la macchina a stati viene richiamata con un oggetto vuoto. JSON
{}
-
FilePath: Quando InputTypeè impostato su FilePath, questo campo è obbligatorio.
Un artefatto di input è richiesto anche quando InputTypeè impostato su. FilePath
Il contenuto del file nell'artefatto di input specificato viene utilizzato come input per l'esecuzione della macchina a stati.
-
Input artifact (Artefatti di input)
-
Numero di artefatti:
0 to 1
-
Descrizione: se InputTypeimpostato su FilePath, questo artefatto è obbligatorio e viene utilizzato per generare l'input per l'esecuzione della macchina a stati.
Artefatti di output
-
Numero di artefatti:
0 to 1
-
Descrizione:
-
Macchine a stati Standard: se fornito, l'artefatto di output viene popolato con l'output della macchina a stati. Si ottiene dalla
output
proprietà della DescribeExecution API risposta Step Functions dopo che l'esecuzione della macchina a stati è stata completata correttamente. -
Macchine a stati Express: non supportate.
-
Variabili di output
Questa operazione produce variabili di output che possono essere referenziate mediante configurazione dell'operazione di un'operazione a valle nella pipeline.
Per ulteriori informazioni, consulta Riferimento alle variabili.
- StateMachineArn
-
La ARN macchina a stati.
- ExecutionArn
-
L'esecuzione ARN della macchina a stati. Solo macchine a stati Standard.
Esempio di configurazione dell'operazione
Esempio di input predefinito
Name: ActionName
ActionTypeId:
Category: Invoke
Owner: AWS
Version: 1
Provider: StepFunctions
OutputArtifacts:
- Name: myOutputArtifact
Configuration:
StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
ExecutionNamePrefix: my-prefix
Esempio di input letterale
Name: ActionName
ActionTypeId:
Category: Invoke
Owner: AWS
Version: 1
Provider: StepFunctions
OutputArtifacts:
- Name: myOutputArtifact
Configuration:
StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
ExecutionNamePrefix: my-prefix
Input: '{"action": "test"}'
Esempio di file di input
Name: ActionName
InputArtifacts:
- Name: myInputArtifact
ActionTypeId:
Category: Invoke
Owner: AWS
Version: 1
Provider: StepFunctions
OutputArtifacts:
- Name: myOutputArtifact
Configuration:
StateMachineArn: 'arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine'
ExecutionNamePrefix: my-prefix
InputType: FilePath
Input: assets/input.json
Comportamento
Durante una versione, CodePipeline esegue la macchina a stati configurata utilizzando l'input specificato nella configurazione dell'azione.
Quando InputTypeè impostato su Literal, il contenuto del campo di configurazione dell'azione di input viene utilizzato come input per la macchina a stati. Quando non viene fornito un input letterale, l'esecuzione della macchina a stati utilizza un oggetto vuotoJSON. {}
Per ulteriori informazioni sull'esecuzione di un'esecuzione di una macchina a stati senza input, vedere Step Functions StartExecution API.
Quando InputTypeè impostata su FilePath, l'azione decomprime l'elemento di input e utilizza il contenuto del file specificato nel campo di configurazione dell'azione di input come input per la macchina a stati. Quando FilePathè specificato, il campo di input è obbligatorio e deve esistere un elemento di input; in caso contrario, l'azione ha esito negativo.
Dopo l'esecuzione di un avvio riuscito, il comportamento divergerà per i due tipi di macchina a stati, Standard ed Express.
Macchine a stati Standard
Se l'esecuzione della macchina a stati standard è stata avviata con successo, esegue il CodePipeline polling DescribeExecution
API fino a quando l'esecuzione non raggiunge lo stato di terminale. Se l'esecuzione viene completata correttamente, l'operazione ha esito positivo; in caso contrario, ha esito negativo.
Se è configurato un artefatto di output, l'artefatto conterrà il valore restituito dalla macchina a stati. Si ottiene dalla output
proprietà della DescribeExecution API risposta Step Functions dopo che l'esecuzione della macchina a stati è stata completata correttamente. Si noti che a questo proposito vengono imposti dei vincoli di lunghezza di output. API
Gestione degli errori
-
Se l'operazione non riesce ad avviare un'esecuzione di una macchina a stati, l'esecuzione dell'operazione ha esito negativo.
-
Se l'esecuzione della macchina a stati non riesce a raggiungere lo stato di terminale prima che l'azione CodePipeline Step Functions raggiunga il suo timeout (impostazione predefinita di 7 giorni), l'esecuzione dell'azione fallisce. La macchina a stati potrebbe continuare nonostante questo errore. Per ulteriori informazioni sui timeout di esecuzione delle macchine a stati in Step Functions, consulta Flussi di lavoro Standard e Express.
Nota
È possibile richiedere un aumento della quota per il timeout dell'azione di richiamo per l'account con l'operazione. Tuttavia, l'aumento delle quote si applica a tutte le operazioni di questo tipo in tutte le regioni per tale account.
-
Se l'esecuzione della macchina a stati raggiunge lo stato terminale diFAILED, TIMED _ o OUTABORTED, l'esecuzione dell'azione ha esito negativo.
Macchine a stati Express
Se l'esecuzione della macchina a stati Express è stata avviata correttamente, l'esecuzione dell'operazione di richiamo viene completata correttamente.
Considerazioni relative alle operazioni configurate per le macchine a stati Express:
-
Non è possibile designare un artefatto di output.
-
L'operazione non attende il completamento dell'esecuzione della macchina a stati.
-
Dopo l'avvio dell'esecuzione dell'azione CodePipeline, l'esecuzione dell'azione riesce anche se l'esecuzione della macchina a stati fallisce.
Gestione degli errori
-
Se CodePipeline non riesce ad avviare l'esecuzione di una macchina a stati, l'esecuzione dell'azione fallisce. Altrimenti, l'operazione viene eseguita immediatamente con esito positivo. L'azione riesce CodePipeline indipendentemente dal tempo impiegato dall'esecuzione della macchina a stati per essere completata o dal relativo risultato.
Consulta anche
Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
-
AWS Step Functions Guida per gli sviluppatori: per informazioni sulle macchine a stati, le esecuzioni e gli input per le macchine a stati, consulta la Guida per gli AWS Step Functions sviluppatori.
-
Tutorial: utilizzare un'azione di AWS Step Functions richiamo in una pipeline— Questo tutorial ti consente di iniziare con una macchina a stati standard di esempio e mostra come utilizzare la console per aggiornare una pipeline aggiungendo un'azione di invoca Step Functions.