Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Avvia una nuova macchina a AWS Step Functions stati da un'esecuzione in esecuzione

Modalità Focus
Avvia una nuova macchina a AWS Step Functions stati da un'esecuzione in esecuzione - AWS Step Functions

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à.

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à.

Step Functions si integra con la propria API come integrazione di servizi. Scopri come usare Step Functions per avviare una nuova esecuzione di una macchina a stati direttamente dallo stato dell'attività di un'esecuzione in esecuzione. Durante la creazione di nuovi flussi di lavoro, utilizza le esecuzioni di flusso di lavoro nidificate per ridurre la complessità dei flussi di lavoro principali e riutilizzare i processi comuni.

Caratteristiche principali dell'integrazione Optimized Step Functions

Tieni presente che non ci sono ottimizzazioni per i modelli Richiesta e risposta di Attendi una richiamata con Task Token integrazione.

Per ulteriori informazioni, consulta gli argomenti seguenti:

Step Functions ottimizzate APIs

Esempi di flussi di lavoro

Di seguito è incluso uno stato Task che avvia l'esecuzione di un'altra macchina a stati e ne attende il completamento.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync:2", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Di seguito è incluso uno stato Task che avvia l'esecuzione di un'altra macchina a stati.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

L’esempio seguente include uno stato Task che implementa il modello di integrazione del servizio di callback.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.waitForTaskToken", "Parameters":{ "Input":{ "Comment": "Hello world!", "token.$": "$$.Task.Token" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Per associare un'esecuzione di workflow annidata all'esecuzione principale che l'ha avviata, passate un parametro con nome speciale che include l'ID di esecuzione estratto dall'oggetto Context. Quando si avvia un'esecuzione nidificata, utilizza un parametro denominato AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID. Passa l'ID di esecuzione aggiungendolo .$ al nome del parametro e facendo riferimento all'ID nell'oggetto Context con. $$.Execution.Id Per ulteriori informazioni, consulta Accesso all'oggetto Context.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync", "Parameters":{ "Input":{ "Comment": "Hello world!", "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Le macchine a stato nidificato restituiscono quanto segue:

Risorsa Output
startExecution.sync Stringa
startExecution.sync:2 JSON

Entrambi attenderanno il completamento della macchina a stati nidificati, ma restituiscono formati Output diversi. Ad esempio, se crei una funzione Lambda che restituisce l'oggetto{ "MyKey": "MyValue" }, otterrai le seguenti risposte:

Per startExecution.sync:

{ <other fields> "Output": "{ \"MyKey\": \"MyValue\" }" }

Per startExecution.sync:2:

{ <other fields> "Output": { "MyKey": "MyValue" } }

Configurazione delle autorizzazioni IAM per macchine a stati annidate

Una macchina a stati principale determina se una macchina a stati figlio ha completato l'esecuzione utilizzando polling ed eventi. Il polling richiede l'autorizzazione states:DescribeExecution mentre gli eventi inviati EventBridge a Step Functions richiedono le autorizzazioni per events:PutTargetsevents:PutRule, e. events:DescribeRule Se nel tuo ruolo IAM mancano queste autorizzazioni, potrebbe verificarsi un ritardo prima che una macchina a stati principale venga a conoscenza del completamento dell'esecuzione della macchina a stati secondari.

Per una macchina a stati che richiede StartExecution l'esecuzione di un singolo flusso di lavoro annidato, utilizza una policy IAM che limiti le autorizzazioni a quella macchina a stati.

Politiche IAM per chiamare flussi di lavoro Step Functions annidati

Per una macchina a stati che richiede StartExecution l'esecuzione di un singolo flusso di lavoro annidato, utilizza una policy IAM che limiti le autorizzazioni a quella macchina a stati.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] } ] }

Per ulteriori informazioni, consulta gli argomenti seguenti:

Synchronous
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:execution:[[stateMachineName]]:*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:[[region]]:[[accountId]]:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule" ] } ] }
Asynchronous
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:execution:[[stateMachineName]]:*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:[[region]]:[[accountId]]:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule" ] } ] }
Tipi di ARN obbligatori

Nella politica per Synchronous, si noti che states:StartExecution richiede un ARN per una macchina a stati states:DescribeExecution mentre states:StopExecution e richiede un ARN di esecuzione.

Se combini erroneamente tutte e tre le azioni, il JSON sarà valido ma la policy IAM non sarà corretta. Una policy errata può causare flussi di lavoro bloccati e/o problemi di accesso durante l'esecuzione del flusso di lavoro.

Per ulteriori informazioni sulle esecuzioni di flussi di lavoro nidificati, consulta Avvia le esecuzioni del flusso di lavoro da uno stato di attività in Step Functions.

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.