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

Configura gli stati, gli ingressi e gli output con Workflow Studio in Step Functions

Modalità Focus
Configura gli stati, gli ingressi e gli output con Workflow Studio 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

Ogni stato prende una decisione o esegue un'azione in base all'input che riceve. Nella maggior parte dei casi, passa quindi l'output ad altri stati. In Workflow Studio, potete configurare il modo in cui uno stato filtra e manipola i dati di input e output nelle schede Input e Output del pannello. Pannello Inspector Utilizzate i collegamenti Info per accedere alla guida contestuale per la configurazione di input e output.

Schermata illustrativa che mostra gli input e gli output di stato e il pannello di aiuto informativo

Per informazioni dettagliate su come Step Functions elabora input e output, vedereElaborazione di input e output in Step Functions.

Configurare l'input in uno stato

Ogni stato riceve l'input dallo stato precedente come JSON. Se desideri filtrare l'input, puoi utilizzare il InputPath filtro nella scheda Input del Pannello Inspector pannello. InputPathÈ una stringa, che inizia con$, che identifica un nodo JSON specifico. Questi sono chiamati percorsi di riferimento e seguono JsonPath la sintassi.

Per filtrare l'input:

  • Scegli Filtra input con InputPath.

  • Inserisci un valore valido JsonPathper il InputPath filtro. Ad esempio $.data.

Il InputPath filtro verrà aggiunto al flusso di lavoro.

Esempio 1: utilizzo del InputPath filtro in Workflow Studio

Supponiamo che l'input del tuo stato includa i seguenti dati JSON.

{ "comment": "Example for InputPath", "dataset1": { "val1": 1, "val2": 2, "val3": 3 }, "dataset2": { "val1": "a", "val2": "b", "val3": "c" } }

Per applicare il InputPath filtro, scegli Filtra input con InputPath, quindi inserisci un percorso di riferimento appropriato. Se inserite$.dataset2.val1, il seguente codice JSON viene passato come input allo stato.

{"a"}

Un percorso di riferimento può anche avere una selezione di valori. Se i dati a cui fai riferimento sono { "a": [1, 2, 3, 4] } e applichi il percorso di riferimento $.a[0:2] come InputPath filtro, il risultato è il seguente.

[ 1, 2 ]

Stato del flusso di lavoro paralleloStato del flusso di lavoro della mappa, e gli stati di Passare lo stato del workflow flusso dispongono di un'opzione di filtro di input aggiuntiva nella scheda Input. Parameters Questo filtro ha effetto dopo il InputPath filtro e può essere utilizzato per creare un oggetto JSON personalizzato costituito da una o più coppie chiave-valore. I valori di ogni coppia possono essere valori statici, possono essere selezionati dall'input o possono essere selezionati da un percorso. Accesso ai dati di esecuzione dall'oggetto Context in Step Functions

Nota

Per specificare che un parametro utilizza un percorso di riferimento per puntare a un nodo JSON nell'input, il nome del parametro deve terminare con.$.

Esempio 2: creazione di un input JSON personalizzato per Parallel state

Supponiamo che i seguenti dati JSON siano l'input per uno stato parallelo.

{ "comment": "Example for Parameters", "product": { "details": { "color": "blue", "size": "small", "material": "cotton" }, "availability": "in stock", "sku": "2317", "cost": "$23" } }

Per selezionare parte di questo input e passare ulteriori coppie chiave-valore con un valore statico, puoi specificare quanto segue nel campo Parametri, nella scheda Input dello stato Parallelo.

{ "comment": "Selecting what I care about.", "MyDetails": { "size.$": "$.product.details.size", "exists.$": "$.product.availability", "StaticValue": "foo" } }

Il risultato saranno i seguenti dati JSON.

{ "comment": "Selecting what I care about.", "MyDetails": { "size": "small", "exists": "in stock", "StaticValue": "foo" } }

Configura l'output di uno stato

Ogni stato produce un output JSON che può essere filtrato prima di passare allo stato successivo. Sono disponibili diversi filtri, ognuno dei quali influisce sull'output in modo diverso. I filtri di output disponibili per ogni stato sono elencati nella scheda Output del pannello Inspector. Per Stato del flusso di lavoro delle attività gli stati, tutti i filtri di output selezionati vengono elaborati nel seguente ordine:

  1. ResultSelector: utilizzate questo filtro per manipolare il risultato dello stato. È possibile creare un nuovo oggetto JSON con parti del risultato.

  2. Specificazione dello stato dell'output utilizzando ResultPath in Step Functions: utilizzate questo filtro per selezionare una combinazione dell'input dello stato e del risultato dell'attività da passare all'output.

  3. Filtraggio dell'output dello stato utilizzando OutputPath: Usa questo filtro per filtrare l'output JSON e scegliere quali informazioni del risultato verranno passate allo stato successivo.

Usa ResultSelector

ResultSelectorè un filtro di output opzionale per i seguenti stati:

ResultSelectorpuò essere usato per costruire un oggetto JSON personalizzato costituito da una o più coppie chiave-valore. I valori di ogni coppia possono essere valori statici o selezionati dal risultato dello stato con un percorso.

Nota

Per specificare che un parametro utilizza un percorso per fare riferimento a un nodo JSON nel risultato, il nome del parametro deve terminare con.$.

Esempio di utilizzo ResultSelector del filtro

In questo esempio, viene utilizzata ResultSelector per manipolare la risposta della chiamata API Amazon CreateCluster EMR per uno stato Amazon CreateCluster EMR. Di seguito è riportato il risultato della chiamata all'CreateClusterAPI Amazon EMR.

{ "resourceType": "elasticmapreduce", "resource": "createCluster.sync", "output": { "SdkHttpMetadata": { "HttpHeaders": { "Content-Length": "1112", "Content-Type": "application/x-amz-JSON-1.1", "Date": "Mon, 25 Nov 2019 19:41:29 GMT", "x-amzn-RequestId": "1234-5678-9012" }, "HttpStatusCode": 200 }, "SdkResponseMetadata": { "RequestId": "1234-5678-9012" }, "ClusterId": "AKIAIOSFODNN7EXAMPLE" } }

Per selezionare parte di queste informazioni e passare una coppia chiave-valore aggiuntiva con un valore statico, specifica quanto segue nel ResultSelectorcampo, nella scheda Output dello stato.

{ "result": "found", "ClusterId.$": "$.output.ClusterId", "ResourceType.$": "$.resourceType" }

L'utilizzo ResultSelector produce il seguente risultato.

{ "result": "found", "ClusterId": "AKIAIOSFODNN7EXAMPLE", "ResourceType": "elasticmapreduce" }

Usa ResultPath

L'output di uno stato può essere una copia del suo input, il risultato che produce o una combinazione del suo input e del suo risultato. Utilizza ResultPath per controllare quale di queste combinazioni verrà passata all'output dello stato. Per ulteriori casi d'uso diResultPath, vedereSpecificazione dello stato dell'output utilizzando ResultPath in Step Functions.

ResultPathè un filtro di output opzionale per i seguenti stati:

ResultPathpuò essere usato per aggiungere il risultato all'input dello stato originale. Il percorso specificato indica dove aggiungere il risultato.

Esempio di utilizzo ResultPath del filtro

Supponiamo che quanto segue sia l'input di uno stato di Task.

{ "details": "Default example", "who": "AWS Step Functions" }

Il risultato dello stato dell'attività è il seguente.

Hello, AWS Step Functions

È possibile aggiungere questo risultato all'input dello stato applicando ResultPath e immettendo un percorso di riferimento che indichi dove aggiungere il risultato, ad esempio$.taskresult:

Con ciòResultPath, quanto segue è il JSON che viene passato come output dello stato.

{ "details": "Default example", "who": "AWS Step Functions", "taskresult": "Hello, AWS Step Functions!" }

Usa OutputPath

Il OutputPath filtro ti consente di filtrare le informazioni indesiderate e di passare solo la parte di JSON di cui hai bisogno. OutputPathÈ una stringa, che inizia con$, che identifica i nodi all'interno del testo JSON.

Esempio di utilizzo del filtro OutputPath

Immagina che una chiamata all'API Lambda Invoke restituisca i metadati oltre al risultato della funzione Lambda.

{ "ExecutedVersion": "$LATEST", "Payload": { "foo": "bar", "colors": [ "red", "blue", "green" ], "car": { "year": 2008, "make": "Toyota", "model": "Matrix" } }, "SdkHttpMetadata": { "AllHttpHeaders": { "X-Amz-Executed-Version": ["$LATEST"] ...

Puoi usarla OutputPath per filtrare i metadati aggiuntivi. Per impostazione predefinita, il valore del OutputPathfiltro per gli stati Lambda Invoke creati tramite Workflow Studio è. $.Payload Questo valore predefinito rimuove i metadati aggiuntivi e restituisce un output equivalente all'esecuzione diretta della funzione Lambda.

L'esempio di risultato dell'attività Lambda Invoke e il valore di $.Payload per il filtro Output passano i seguenti dati JSON come output.

{ "foo": "bar", "colors": [ "red", "blue", "green" ], "car": { "year": 2008, "make": "Toyota", "model": "Matrix" } }
Nota

Il OutputPath filtro è l'ultimo filtro di output ad avere effetto, quindi se utilizzi filtri di output aggiuntivi come ResultSelector oResultPath, dovresti modificare di conseguenza il valore predefinito di $.Payload per il OutputPath filtro.

In questa pagina

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