Passaggio di parametri a un servizio API 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à.

Passaggio di parametri a un servizio API in Step Functions

Gestione dello stato e trasformazione dei dati

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.

Usa il Parameters campo in uno Task stato per controllare quali parametri vengono passati a un servizioAPI.

All'interno del Parameters campo, è necessario utilizzare la forma plurale dei parametri dell'array in un'APIazione. Ad esempio, se utilizzi il campo Filtro dell'DescribeSnapshotsAPIazione per l'integrazione con AmazonEC2, devi definire il campo comeFilters. Se non si utilizza la forma plurale, Step Functions restituisce il seguente errore:

The field Filter is not supported by Step Functions.

Passa dati statici JSON come parametri

È possibile includere un JSON oggetto direttamente nella definizione della macchina a stati da passare come parametro a una risorsa.

Ad esempio, per impostare il RetryStrategy parametro SubmitJob API for AWS Batch, potete includere quanto segue nei parametri.

"RetryStrategy": { "attempts": 5 }

Puoi anche passare più parametri con staticJSON. Come esempio più completo, i seguenti sono i Parameters campi Resource e della specifica di un'attività che viene pubblicata su un SNS argomento Amazon denominatomyTopic.

"Resource": "arn:aws:states:::sns:publish", "Parameters": { "TopicArn": "arn:aws:sns:us-east-2:123456789012:myTopic", "Message": "test message", "MessageAttributes": { "my attribute no 1": { "DataType": "String", "StringValue": "value of my attribute no 1" }, "my attribute no 2": { "DataType": "String", "StringValue": "value of my attribute no 2" } } },

Passa l'input dello stato come parametri utilizzando Paths

È possibile passare parti dell'input di stato come parametri utilizzando i percorsi. Un percorso è una stringa, che inizia con$, utilizzata per identificare i componenti all'interno JSON del testo. I percorsi Step Functions utilizzano la JsonPathsintassi.

Per specificare che un parametro utilizza un percorso, terminate il nome del parametro con.$. Ad esempio, se l'input di stato contiene testo all'interno di un nodo denominatomessage, è possibile passare quel testo come parametro utilizzando un percorso.

Considerate il seguente input di stato:

{ "comment": "A message in the state input", "input": { "message": "foo", "otherInfo": "bar" }, "data": "example" }

Per passare il valore del nodo denominato message come parametromyMessage, specificate la seguente sintassi:

"Parameters": {"myMessage.$": "$.input.message"},

Step Functions passa quindi il valore foo come parametro.

Per ulteriori informazioni sull'utilizzo dei parametri in Step Functions, vedere quanto segue:

Passa i nodi degli oggetti Context come parametri

Oltre al contenuto statico e ai nodi dell'input di stato, potete passare nodi dall'oggetto Context come parametri. L'oggetto Context è costituito da JSON dati dinamici che esistono durante l'esecuzione di una macchina a stati. Include informazioni sulla tua macchina di stato e l'esecuzione corrente. È possibile accedere all'oggetto Context utilizzando un percorso nel Parameters campo di una definizione di stato.

Per ulteriori informazioni sull'oggetto Context e su come accedere a tali dati da un "Parameters" campo, vedere quanto segue: