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

Passa i parametri a un'API di servizio

Utilizza il campo Parameters in uno stato Task per controllare quali parametri trasferire a un'API di servizio.

All'interno del Parameters campo, è necessario utilizzare la forma plurale dei parametri dell'array in un'azione API. Ad esempio, se utilizzi il campo Filtro dell'azione DescribeSnapshots API per l'integrazione con Amazon EC2, devi definire il campo come. Filters Se non si utilizza la forma plurale, Step Functions restituisce il seguente errore:

The field Filter is not supported by Step Functions.

Passa JSON statico come parametri

Puoi includere un oggetto JSON nella definizione della tua macchina a stati in modo da trasferire un parametro a una risorsa.

Ad esempio, per impostare il parametro RetryStrategy dell'API SubmitJob per AWS Batch, puoi includere quanto segue nei parametri.

"RetryStrategy": { "attempts": 5 }

Con gli oggetti JSON statici puoi inoltre trasmettere più parametri. Come esempio più completo, di seguito sono riportati i Parameters campi Resource e delle specifiche di un'attività che viene pubblicata su un argomento Amazon SNS denominato. myTopic

"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 di stato come parametri usando Paths

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

Per specificare che un parametro utilizza un percorso, termina 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 parametro, 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 nodi di oggetti contestuali come parametri

Oltre a contenuti statici e nodi dall’input di stato, è possibile trasferire i nodi dall'oggetto contestuale come parametri. L'oggetto contestuale è un dato JSON dinamico che esiste durante l’esecuzione di una macchina di stato. Include informazioni sulla tua macchina di stato e l'esecuzione corrente. È possibile accedere all'oggetto contestuale utilizzando un percorso nel campo "Parameters" di una definizione dello stato.

Per ulteriori informazioni sull'oggetto contesto e su come accedere a tali dati da un campo "Parameters", consulta: