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
Utilizzate 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'DescribeSnapshots
APIazione 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 per AWS Batch, è possibile 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 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 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 JsonPath
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 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 contesto è 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 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: