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\".

Specificazione dello stato dell'output utilizzando ResultPath in Step Functions

Modalità Focus
Specificazione dello stato dell'output utilizzando ResultPath in Step Functions - 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à.

Gestione dello stato e trasformazione dei dati

Questa pagina fa riferimento a. JSONPath Step Functions ha recentemente aggiunto variabili e JSONata per gestire lo stato e trasformare i dati.

Scopri come passare dati con variabili e trasformare dati con JSONata.

L'output di uno stato può essere una copia dell'input, il risultato generato (ad esempio, l'output ottenuto da una funzione Lambda di uno stato Task) o una combinazione dell'input e del risultato. Utilizza ResultPath per controllare quale di queste combinazioni verrà passata all'output dello stato.

I tipi di stato seguenti possono generare un risultato e includere ResultPath:

Utilizza ResultPath per combinare il risultato di un task con l'input del task o selezionare una di queste opzioni. Il percorso specificato in ResultPath controlla le informazioni passate all'output.

Nota

ResultPathsi limita all'utilizzo di percorsi di riferimento, il che limita l'ambito, quindi il percorso deve identificare solo un singolo nodo in JSON. Consultare Percorsi di riferimento nella sezione Amazon States Language.

Utilizza ResultPath per sostituire l'input con il risultato dell'attività

Se non si specifica aResultPath, il comportamento predefinito è lo stesso di"ResultPath": "$". Lo stato sostituirà l'intero input di stato con il risultato dell'attività.

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$" # Task result "Hello, Step Functions!" # State Output "Hello, Step Functions!"
Nota

ResultPath viene utilizzato per includere il contenuto del risultato con l'input prima di passarlo all'output. Tuttavia, se ResultPath non è specificato, l'azione predefinita consiste nel sostituire l'intero input.

Scarta il risultato e mantieni l'input originale

Se lo ResultPath impostate sunull, lo stato passerà l'input originale all'output. Il payload di input dello stato verrà copiato direttamente nell'output, indipendentemente dal risultato dell'attività.

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": null # Task result "Hello, Step Functions!" # State Output { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" }

ResultPath Da utilizzare per includere il risultato nell'input

Se specificate un percorso per ResultPath, l'output dello stato combinerà l'input dello stato e il risultato dell'attività:

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$.taskresult" # Task result "Hello, Step Functions!" # State Output { "comment": "This is a test", "details": "Default example", "who" : "Step Functions", "taskresult" : "Hello, Step Functions!" }

È anche possibile inserire il risultato in un nodo figlio dell'input. Impostare ResultPath come segue.

"ResultPath": "$.strings.lambdaresult"

Dato il seguente input:

{ "comment": "An input comment.", "strings": { "string1": "foo", "string2": "bar", "string3": "baz" }, "who": "AWS Step Functions" }

Il risultato dell'attività verrebbe inserito come elemento strings secondario del nodo nell'input.

{ "comment": "An input comment.", "strings": { "string1": "foo", "string2": "bar", "string3": "baz", "lambdaresult": "Hello, Step Functions!" }, "who": "AWS Step Functions" }

L'output dello stato includerà ora il testo JSON di input originale con il risultato come nodo figlio.

Si usa ResultPath per aggiornare un nodo nell'input con il risultato

Se si specifica un nodo esistente per ResultPath, il risultato dell'attività sostituirà quel nodo esistente:

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$.comment" # Task result "Hello, Step Functions!" # State Output { "comment": "Hello, Step Functions!", "details": "Default example", "who" : "Step Functions" }

ResultPath Da utilizzare per includere sia l'errore che l'input in un Catch

In alcuni casi, può essere opportuno conservare l'input originale con l'errore. Per includere l'errore con l'input originale, anziché sostituirlo, utilizza ResultPath in un'istruzione Catch.

"Catch": [{ "ErrorEquals": ["States.ALL"], "Next": "NextTask", "ResultPath": "$.error" }]

Se rileva un errore, l'istruzione Catch precedente include il risultato in un nodo error all'interno dell'input dello stato. Ad esempio, con l'input seguente:

{"foo": "bar"}

l'output dello stato in caso di rilevamento di un errore sarà il seguente.

{ "foo": "bar", "error": { "Error": "Error here" } }

Per ulteriori informazioni sulla gestione degli errori, consulta i seguenti argomenti:

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