Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Pasar parámetros a un servicio API en Step Functions
Utilice el Parameters
campo en un Task
estado para controlar qué parámetros se pasan a un servicioAPI.
Dentro del Parameters
campo, debes usar la forma plural de los parámetros de la matriz en una API acción. Por ejemplo, si utilizas el campo Filtro de la DescribeSnapshots
API acción para integrarte con AmazonEC2, debes definir el campo comoFilters
. Si no se utiliza el plural, Step Functions devuelve el siguiente error:
The field Filter is not supported by Step Functions.
Transfiere la estática JSON como parámetros
Puede incluir un JSON objeto directamente en la definición de su máquina de estados para pasarlo como parámetro a un recurso.
Por ejemplo, para establecer el RetryStrategy
parámetro SubmitJob
API para AWS Batch, puede incluir lo siguiente en sus parámetros.
"RetryStrategy": {
"attempts": 5
}
También puede pasar varios parámetros con estáticaJSON. Como ejemplo más completo, a continuación se muestran los Parameters
campos Resource
y de la especificación de una tarea que se publica en un SNS tema de Amazon denominado
.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"
}
}
},
Cómo transferir la entrada de un estado como parámetros mediante rutas
Puede pasar partes de la entrada del estado como parámetros mediante el uso de rutas. Una ruta es una cadena que comienza con $
y que se utiliza para identificar los componentes del JSON texto. Las rutas de Step Functions utilizan JsonPath
Para especificar que un parámetro utilice una ruta, termine el nombre del parámetro con .$
. Por ejemplo, si la entrada de estado contiene texto dentro de un nodo denominadomessage
, puede pasar ese texto como parámetro mediante una ruta.
Supongamos que tenemos la siguiente entrada de estado:
{
"comment": "A message in the state input",
"input": {
"message": "foo",
"otherInfo": "bar"
},
"data": "example"
}
Para pasar el valor del nodo nombrado message
como un nombre de parámetromyMessage
, especifique la siguiente sintaxis:
"Parameters": {"myMessage.$": "$.input.message"},
A continuación, Step Functions pasará el valor foo
como parámetro.
Para obtener más información acerca del uso de parámetros en Step Functions, consulte los siguientes temas:
Cómo transferir nodos del objeto context como parámetros
Además del contenido estático y de los nodos de la entrada del estado, puede pasar nodos desde el objeto context como parámetros. El objeto de contexto son JSON datos dinámicos que existen durante la ejecución de una máquina de estados. Incluye información acerca de la máquina de estado y la ejecución actual. Puede acceder al objeto context con una ruta en el campo "Parameters"
de una definición de estado.
Para obtener más información acerca del objeto context y cómo acceder a los datos desde el campo "Parameters"
, consulte los siguientes temas: