Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Estructura de máquina de estado en Amazon States Language para flujos de trabajo de Step Functions

Modo de enfoque
Estructura de máquina de estado en Amazon States Language para flujos de trabajo de Step Functions - 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.

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.

Administrar el estado y transformar los datos

Las máquinas de estado se definen utilizando texto JSON que representa una estructura que contiene los siguientes campos.

Comment (opcional)

Descripción en lenguaje natural de la máquina de estado.

QueryLanguage(Opcional; si se omite, el valor predeterminado es) JSONPath
  • El nombre del lenguaje de consulta utilizado por la máquina de estados. Los valores permitidos son JSONPath y JSONata.

  • Si no se proporciona para la máquina de estados, el valor predeterminado para cada estado es JSONPath.

  • Si el idioma de consulta de la máquina de estados de nivel superior esJSONPath, los estados individuales pueden anular el idioma de consulta QueryLanguage configurándolo en. JSONata Con este enfoque, puede convertir de forma incremental una máquina de estados JSONPath a JSONata un estado a la vez.

  • Nota: No se puede revertir una máquina de estados JSONata basada en el nivel superior a una combinación de JSONata estados y. JSONPath

StartAt (Obligatorio)

Cadena que debe coincidir exactamente (mayúsculas y minúsculas) con el nombre de uno de los objetos de estado.

TimeoutSeconds(Opcional)

Número máximo de segundos que puede tardar una ejecución de la máquina de estado. Si se ejecuta durante más tiempo que el especificado, se produce un error en la ejecución con un nombre de error States.Timeout.

Version (opcional)

Versión de Amazon States Language que se utiliza en la máquina de estado (el valor predeterminado es "1.0").

States (Obligatorio)

Objeto que contiene un conjunto de estados separados por comas.

El campo States contiene estados.

{ "State1" : { }, "State2" : { }, ... }

Las máquinas de estado se definen por los estados que contienen y la relación entre ellos.

A continuación se muestra un ejemplo.

{ "Comment": "A Hello World example of the Amazon States Language using a Pass state", "StartAt": "HelloWorld", "States": { "HelloWorld": { "Type": "Pass", "Result": "Hello World!", "End": true } } }

Cuando se inicia una ejecución de esta máquina de estado, el sistema comienza con el estado al que se hace referencia en el campo StartAt ("HelloWorld"). Si este estado tiene un campo "End": true, la ejecución se detiene y se devuelven los resultados. De lo contrario, el sistema busca un campo "Next": y continúa con ese estado "next". Este proceso se repite hasta que el sistema alcanza un estado terminal (un estado con "Type": "Succeed", "Type": "Fail" o "End": true) o se produce un error del sistema en tiempo de ejecución.

Las siguientes reglas se aplican a los estados de una máquina de estado:

  • Los estados pueden tener lugar en cualquier orden dentro del bloque delimitado; el orden en el que aparecen no afecta al orden en el que se ejecutan. El contenido de los estados determina este orden.

  • En una máquina de estado, solo puede haber un estado designado como start; esta designación se hace a través del valor del campo StartAt de la estructura principal. Este estado es uno de los que se ejecuta primero cuando se inicia la ejecución.

  • Los estados cuyo campo End tiene el valor true, se consideran estados end (o terminal). En función de la lógica de la máquina de estado (por ejemplo, si la máquina de estado tiene varias ramificaciones de ejecución), es posible que haya varios estados end.

  • Si la máquina de estado se compone de un solo estado, este podría ser tanto el estado start como el estado end.

Campos de estado comunes en los flujos de trabajo

Los siguientes campos son comunes a todos los elementos de estado.

Type (Obligatorio)

El tipo de estado.

QueryLanguage(Opcional; si se omite, el valor predeterminado es) JSONPath
  • El nombre del idioma de consulta utilizado por el estado. Los valores permitidos son JSONPath y JSONata.

  • Cuando el idioma de consulta de la máquina de estados de nivel superior esJSONPath, los estados individuales pueden anular el idioma de consulta QueryLanguage configurándolo en. JSONata Con este enfoque, puede convertir de forma incremental una máquina de estados JSONPath a JSONata un estado a la vez.

Next

El nombre del siguiente estado que se ejecuta cuando finaliza el estado actual. Algunos tipos de estado, como Choice, permiten varios estados de transición.

Si el estado actual es el último estado de su flujo de trabajo o un estado terminal, como Estado Succeed de un flujo de trabajo o Estado de flujo de trabajo con error, no es necesario que especifique el campo Next.

End

Designa este estado como un estado terminal (termina la ejecución) si está establecido en true. Puede haber un número cualquiera de estados terminales por máquina de estado. Solo se puede utilizar Next o End en un estado. Algunos tipos de estado, como Choice, o estados terminales, como Estado Succeed de un flujo de trabajo y Estado de flujo de trabajo con error, no admiten ni utilizan el campo End.

Comment (opcional)

Almacena una descripción en lenguaje natural del estado.

Assign (opcional)

Se utiliza para almacenar variables. El Assign campo acepta un objeto JSON con pares clave/valor que definen los nombres de las variables y sus valores asignados. Cualquier valor de cadena, incluidos los que estén dentro de objetos o matrices, se evaluará como JSONata si estuviera rodeado de caracteres {% %}

Para obtener más información, consulte Pasar datos entre estados con variables.

Output(Opcional, JSONata únicamente)

Se utiliza para especificar y transformar la salida del estado. Cuando se especifica, el valor anula el estado de salida predeterminado.

El campo de salida acepta cualquier valor JSON (objeto, matriz, cadena, número, booleano, nulo). Cualquier valor de cadena, incluidos los que estén dentro de objetos o matrices, se evaluará como JSONata si estuviera rodeado por un {%%} caracteres.

La salida también acepta una JSONata expresión directamente, por ejemplo: «Output»: «{% jsonata expression%}»

Para obtener más información, consulte Procesamiento de entrada y salida.

InputPath(Opcional, únicamente JSONPath )

Una ruta que selecciona una parte de la entrada del estado que se va a pasar a la tarea del estado para su procesamiento. Si se omite, tiene el valor de $, que designa toda la entrada. Para obtener más información, consulte Procesamiento de entrada y salida.

OutputPath(Opcional, JSONPath únicamente)

Una ruta que selecciona una parte de la salida del estado que se va a pasar al estado siguiente. Si se omite, tiene el valor de $, que designa toda la salida. Para obtener más información, consulte Procesamiento de entrada y salida.

En esta página

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.