Seleccione partes específicas de la entrada sin procesar mediante el InputPath filtro - AWS Step Functions

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.

Seleccione partes específicas de la entrada sin procesar mediante el InputPath filtro

Utilice el filtro InputPath para seleccionar una parte específica de la carga útil de entrada.

Si no especifica InputPath, su valor predeterminado es $, lo que hace que la tarea del estado se refiera a toda la entrada sin procesar en lugar de a una parte específica.

Paso 1: Crear una máquina de estado

importante

Asegúrese de que su máquina de estado esté en la misma AWS cuenta y región que la función Lambda que creó anteriormente.

  1. Utilice el ejemplo de estado Parallel aprendido en el Tutorial 4 para crear una nueva máquina de estado. Asegúrese de que el prototipo de flujo de trabajo se parezca al siguiente prototipo.

  2. Configure las integraciones para las funciones de lambda check-identity y check-address. Para obtener información sobre la creación de las funciones de Lambda y su uso en la máquina de estado, consulte Paso 1: Crear las funciones de Lambda para realizar las comprobaciones necesarias y Paso 2: Actualizar el flujo de trabajo: añadir tareas paralelas a realizar.

  3. Para Carga, asegúrese de mantener la selección predeterminada de Usar entrada de estado como carga.

  4. Seleccione Siguiente y, a continuación, realice los pasos del 1 a 3 en Paso 1: Guardar la máquina de estado del Tutorial 5 para crear una nueva máquina de estado. Para este tutorial, asigne a su máquina de estado el nombre WorkflowInputOutput.

Paso 2: Ejecutar la máquina de estado

  1. En la WorkflowInputOutputpágina, elija Iniciar ejecución.

  2. (Opcional) Para identificar la ejecución, puede especificar un nombre en el cuadro Nombre. De forma predeterminada, Step Functions genera automáticamente un nombre de ejecución único.

    nota

    Step Functions permite crear nombres para máquinas de estado, ejecuciones, actividades y etiquetas que contengan caracteres no ASCII. Estos nombres que no son ASCII no funcionan con Amazon. CloudWatch Para asegurarse de que puede realizar un seguimiento de CloudWatch las métricas, elija un nombre que utilice únicamente caracteres ASCII.

  3. En el área de entrada, añada los siguientes datos JSON como entrada de ejecución.

    { "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. Seleccione Iniciar ejecución.

  5. La ejecución de la máquina de estado produce un error porque no ha especificado qué partes de la ejecución deben utilizar la entrada check-identity y las funciones de Lambda check-address para realizar la verificación de identidad y dirección requerida.

  6. Continúe con el paso 3 de este tutorial para corregir el error.

Paso 3: Utilizar el filtro InputPath para seleccionar partes específicas de una entrada de ejecución

  1. En la página Detalle de ejecución, seleccione Editar máquina de estado.

  2. Para verificar la identidad del solicitante tal como se menciona en la entrada de ejecución proporcionada enPaso 2: Ejecutar la máquina de estado, edite la definición de la tarea de verificación de identidad de la siguiente manera:

    ... { "StartAt": "Verify identity", "States": { "Verify identity": { "Type": "Task", "Resource": "arn:aws:states:::lambda:invoke", "InputPath": "$.data.identity", "Parameters": { "Payload.$": "$", "FunctionName": "arn:aws:lambda:us-east-2:123456789012:function:check-identity:$LATEST" }, "End": true } } } ...

    En consecuencia, los siguientes datos de JSON pasan a estar disponibles como entrada para la función check-identity.

    { "email": "jdoe@example.com", "ssn": "123-45-6789" }
  3. Para verificar la dirección del solicitante mencionada en la entrada de ejecución, edite la definición de la tarea Verify address del siguiente modo:

    ... { "StartAt": "Verify address", "States": { "Verify address": { "Type": "Task", "Resource": "arn:aws:states:::lambda:invoke", "InputPath": "$.data.address", "Parameters": { "Payload.$": "$", "FunctionName": "arn:aws:lambda:us-east-1:123456789012:function:check-address:$LATEST" }, "End": true } } } ...

    En consecuencia, los siguientes datos de JSON pasan a estar disponibles como entrada para la función check-address.

    { "street": "123 Main St", "city": "Columbus", "state": "OH", "zip": "43219" }
  4. Seleccione Iniciar ejecución. La ejecución de la máquina de estado ahora se completa correctamente.