Utilizzo del simulatore di flusso di dati per testare il flusso di dati 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à.

Utilizzo del simulatore di flusso di dati per testare il flusso di dati in Step Functions

Puoi progettare, implementare ed eseguire il debug dei flussi di lavoro nella console Step Functions. Puoi anche controllare il flusso di dati nei flussi di lavoro con l'elaborazione dei dati JsonPathdi input e output. Con il simulatore di flusso di dati, puoi simulare l'ordine in cui Stato del flusso di lavoro delle attività gli stati del flusso di lavoro elaborano i dati in fase di esecuzione. Utilizzando il simulatore, puoi capire come filtrare e manipolare i dati mentre passano da uno stato all'altro. Simula ciascuno dei seguenti campi utilizzati da Step Functions per elaborare e controllare il flusso di JSON dati:

InputPath

Seleziona WHATuna parte dell'intero payload di input da utilizzare come input di un'attività. Se si specifica questo campo, Step Functions applica prima questo campo.

Parametri

Specifica HOWl'aspetto che deve avere l'input prima di richiamare l'attività. Con il Parameters campo, puoi creare una raccolta di coppie chiave-valore che vengono passate come input a un'AWS servizio integrazione, ad esempio una funzione. AWS Lambda Questi valori possono essere statici o selezionati dinamicamente dall'input di stato o dall'oggetto del contesto del flusso di lavoro.

ResultSelector

Determina WHATdi scegliere dall'output di un'attività. Con il ResultSelector campo, puoi creare una raccolta di coppie chiave-valore che sostituiscono il risultato di uno stato e passare tale raccolta a. ResultPath

Specificazione dello stato dell'output utilizzando i flussi di ResultPath lavoro di Step Functions

Determina WHEREdi inserire l'output di un'attività. Utilizzate il ResultPath per determinare se l'output di uno stato è una copia del relativo input, il risultato che produce o una combinazione di entrambi.

Filtraggio dell'output dello stato utilizzando i flussi di OutputPath lavoro di Step Functions

Determina di WHATinviare allo stato successivo. ConOutputPath, puoi filtrare le informazioni indesiderate e trasmettere solo la parte di JSON dati che ti interessa.

Utilizzo del simulatore di flusso di dati

Il simulatore fornisce un side-by-side confronto in tempo reale dei dati prima e dopo l'applicazione di un campo di elaborazione dei dati di input e output. Per utilizzare il simulatore, specificate un JSON input. Quindi, valutalo attraverso ciascuno dei campi di elaborazione di input e output. Il simulatore convalida automaticamente i dati JSON inseriti ed evidenzia eventuali errori di sintassi.

Per utilizzare il simulatore del flusso di dati

Nei passaggi seguenti, fornisci l'JSONinput e applichi i Parametri campi InputPath e. Puoi anche applicare gli altri campi disponibili e visualizzarne i risultati.

  1. Apri la console Step Functions.

  2. Nel riquadro di navigazione, scegli Data flow simulator.

  3. Nell'area di input dello stato, sostituisci i dati di esempio precompilati con JSON i seguenti dati. JSON Quindi, seleziona Next (Successivo).

    { "data": { "firstname": "Jane", "lastname": "Doe", "identity": { "email": "jdoe@example.com", "ssn": "123-45-6789" }, "address": { "street": "123 Main St", "city": "Columbus", "state": "OH", "zip": "43219" } } }
  4. Per InputPath, inserisci $.data.address per selezionare il nodo di indirizzo dei dati di inputJSON.

    La InputPath casella State input after mostra i seguenti risultati.

    { "street": "123 Main St", "city": "Columbus", "state": "OH", "zip": "43219" }
  5. Scegli Next (Successivo).

  6. Applica il Parameters campo per convertire i JSON dati risultanti in una stringa. Per convertire i dati, procedi come segue:

    1. Nella casella Parametri, immettete il codice seguente per creare una stringa denominataaddressString.

      { "addressString.$": "States.Format('{}. {}, {} - {}', $.street, $.city, $.state, $.zip)" }
  7. Visualizzate il risultato dell'applicazione Parameters sul campo nella casella Inserimento filtrato dopo i parametri.

Considerazioni sull'utilizzo del simulatore di flusso di dati

Prima di utilizzare il simulatore di flusso di dati, considera le sue limitazioni, tra cui, a titolo esemplificativo ma non esaustivo:

  • Espressioni di filtro non supportate

    Le espressioni di filtro nel simulatore si comportano in modo diverso rispetto al servizio Step Functions. Ciò include espressioni che utilizzano la seguente sintassi:. [?(expression)] Di seguito è riportato un elenco di espressioni non supportate. Se utilizzate, queste espressioni potrebbero non restituire il risultato previsto dopo la loro valutazione.

    • $..book[?(@.isInStock==true)]

    • $..book[?(@.price > 10.0)].title

  • JsonPath Valutazione errata per gli array a elemento singolo

    Se si filtrano i dati con un' JsonPath espressione che restituisce un singolo elemento dell'array, il simulatore restituisce l'elemento senza l'array. Ad esempio, si consideri la seguente matrice di dati, denominataitems:

    { "items": [ { "name": "shoe", "color": "blue", "comment": "nice shoe" }, { "name": "hat", "color": "red" }, { "name": "shirt", "color": "yellow" } ] }

    Dato questo items array, se inserisci il $..comment InputPath campo, ti aspetteresti il seguente risultato:

    [ "nice shoe" ]

    Tuttavia, il simulatore di flusso di dati restituisce invece il seguente output:

    "nice shoe"

    Per la JsonPath valutazione di un array che contiene più elementi, il simulatore restituisce l'output previsto.