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.
¿Qué es AWS Step Functions?
AWS Step Functionses un servicio de orquestación sin servidor que le permite integrarse con AWS Lambda
Step Functions se basa en máquinas de estados y tareas. Una máquina de estados es un flujo de trabajo. Una tarea es un estado de un flujo de trabajo que representa una sola unidad de trabajo que realiza otroAWS servicio. Cada paso de un flujo de trabajo es un estado.
Con los controles integrados de Step Functions, puede examinar el estado de cada paso del flujo de trabajo para asegurarse de que la aplicación se ejecuta en orden y según lo esperado. Según su caso de uso, puede hacer que Step Functions llame aAWS servicios, como Lambda, para realizar tareas. Puede crear flujos de trabajo que procesen y publiquen modelos de aprendizaje automático. Puede disponer deAWS servicios de control de Step Functions AWS Glue
sugerencia
Para familiarizarse con las funciones principales de Step Functions a través de una serie de módulos interactivos, consulte TheAWS Step Functions Workshop
Temas
AWSSDK e integraciones optimizadas
Para llamar a otrosAWS servicios, puede utilizar las integraciones delAWS SDK de Step Functions o una de las integraciones optimizadas de Step Functions.
-
Las integraciones delAWS SDK te permiten llamar a cualquiera de los más de doscientosAWS servicios directamente desde tu máquina de estado, lo que te da acceso a más de nueve mil acciones de la API.
-
Las integraciones optimizadas de Step Functions se han personalizado para simplificar el uso en sus máquinas de estados.
Flujos de trabajo estándar y exprés
Step Functions tiene dos tipos de flujo de trabajo. Los flujos de trabajo estándar se ejecutan exactamente una vez y pueden durar hasta un año. Esto significa que cada paso de un flujo de trabajo estándar se ejecutará exactamente una vez. Sin embargo, los flujos de trabajo exprés tienen una ejecución de at-least-once flujo de trabajo y pueden durar hasta cinco minutos. Esto significa que uno o más pasos de un flujo de trabajo exprés pueden ejecutarse más de una vez, mientras que cada paso del flujo de trabajo se ejecuta al menos una vez.
Las ejecuciones son instancias en las que se ejecuta el flujo de trabajo para realizar tareas. Los flujos de trabajo estándar son ideales para flujos de trabajo auditables y de larga duración, ya que muestran el historial de ejecución y la depuración visual. Los flujos de trabajo exprés son ideales para high-event-rate cargas de trabajo, como el procesamiento de datos en streaming y la ingesta de datos de IoT.
Especificaciones de flujos de trabajo estándar
-
Tasa de ejecución de 2000 por segundo
-
Tasa de transición de estado de 4000 por segundo
-
Precios por estado de transición
-
Mostrar el historial de ejecución y la depuración visual
-
Support todas las integraciones y patrones de servicios
Especificaciones de flujos de trabajo
-
Tasa de ejecución de 100 000 por segundo
-
Tasa de transición estatal casi ilimitada
-
Precios según el número y la duración de las ejecuciones
-
Enviar el historial de ejecución a Amazon CloudWatch
-
Muestra el historial de ejecución y la depuración visual en función del nivel de registro activado
-
Support todas las integraciones de servicios y la mayoría de los patrones
Para obtener más información sobre flujos de trabajo Standard y Express, incluidos los precios de Step Functions, consulte los siguientes temas:
Casos de uso
Step Functions administra los componentes y la lógica de la aplicación para que pueda escribir menos código y centrarse en crear y actualizar la aplicación rápidamente. En esta sección se describen los casos de uso típicos para trabajar con Step Functions.
Caso de uso #1: Orquestación de funciones

Se crea un flujo de trabajo que ejecuta un grupo de funciones de Lambda (pasos) en un orden específico. La salida de una función Lambda pasa a la entrada de la siguiente función Lambda. El último paso del flujo de trabajo da un resultado. Con Step Functions, puede ver cómo cada paso del flujo de trabajo interactúa entre sí, de modo que puede asegurarse de que cada paso cumple la función prevista.
Para ver un tutorial que muestra cómo crear una máquina de estados con un grupo de funciones, consulte lo siguiente:
Caso de uso #2: Ramificación

Un cliente solicita un aumento del límite de crédito. Al usar unChoice
estado, puede hacer que Step Functions tome decisiones en función de la entrada delChoice
estado. Si la solicitud supera el límite de crédito preaprobado de su cliente, puede hacer que Step Functions envíe la solicitud de su cliente a un gerente para que la apruebe. Si la solicitud es inferior al límite de crédito preaprobado de su cliente, puede hacer que Step Functions apruebe la solicitud automáticamente.
Caso de uso #3: Tratamiento de errores

Retry
En este caso de uso, un cliente solicita un nombre de usuario. La primera vez, la solicitud de tu cliente no tiene éxito. Mediante unaRetry
declaración, puede hacer que Step Functions vuelva a intentar la solicitud de su cliente. La segunda vez, la solicitud de tu cliente se ha realizado correctamente.
Catch
En un caso de uso similar, un cliente solicita un nombre de usuario no disponible. Mediante unaCatch
sentencia, Step Functions le sugiere un nombre de usuario disponible. Si su cliente utiliza el nombre de usuario disponible, puede hacer que Step Functions pase al siguiente paso de su flujo de trabajo, que consiste en enviar un correo electrónico de confirmación. Si tu cliente no utiliza el nombre de usuario disponible, puedes hacer que Step Functions pase a otro paso de tu flujo de trabajo, que consiste en volver a iniciar el proceso de registro.
Para obtener ejemplosRetry
yCatch
declaraciones más detallados, consulte lo siguiente:
Caso de uso #4: Human in the loop

Con una aplicación bancaria, uno de tus clientes envía dinero a un amigo. El cliente espera un correo electrónico de confirmación. Con una devolución de llamada y un token de tarea, puedes hacer que Step Functions le diga a Lambda que envíe el dinero a tu cliente e informe cuando el amigo de tu cliente lo reciba. Cuando Lambda informe de que el amigo de tu cliente ha recibido el dinero, puedes hacer que Step Functions pase al siguiente paso de tu flujo de trabajo, que consiste en enviarle un correo electrónico de confirmación al cliente.
Para ver un proyecto de ejemplo que muestre una devolución de llamada con un token de tarea, consulte lo siguiente:
Caso de uso #5: Procesamiento en paralelo

Un cliente convierte un archivo de vídeo en cinco resoluciones de pantalla diferentes para que los espectadores puedan ver el vídeo en varios dispositivos. Mediante unParallel
estado, Step Functions introduce el archivo de vídeo para que Lambda pueda procesarlo en las cinco resoluciones de pantalla al mismo tiempo.
Caso de uso #6: Paralelismo dinámico

Un cliente pide tres artículos y tienes que preparar cada uno de ellos para la entrega. Verifica la disponibilidad de cada artículo, lo reúne y, a continuación, empaqueta cada artículo para su entrega. Mediante unMap
estado, Step Functions hace que Lambda procese cada uno de los elementos de su cliente en parallel. Una vez que todos los artículos de su cliente estén empaquetados para su entrega, Step Functions pasa al siguiente paso de su flujo de trabajo, que consiste en enviar al cliente un correo electrónico de confirmación con la información de seguimiento.
Para ver un proyecto de ejemplo que muestra el paralelismo dinámico mediante unMap
estado, consulte lo siguiente:
Integraciones con los servicios
Step Functions se integra con variosAWS servicios. Para combinar Step Functions con estos servicios, utilice los siguientes patrones de integración de servicios:
Solicitar una respuesta (predeterminado)
-
Llama a un servicio y deja que Step Functions pase al siguiente estado después de recibir una respuesta HTTP.
Ejecutar un trabajo (.sync)
-
Llame a un servicio y haga que Step Functions espere a que se complete un trabajo.
Espere a que le devuelvan la llamada con un token de tarea (. waitForTaskSímbolo)
-
Llama a un servicio con un token de tarea y haz que Step Functions espere hasta que el token de tarea regrese con una devolución de llamada.
La siguiente tabla muestra las integraciones de servicios disponibles y los patrones de integración de servicios para Step Functions.
Los flujos de trabajo estándar y los flujos de trabajo exprés admiten las mismas integraciones, pero no admiten los mismos patrones de integración. Los flujos de trabajo de Express no admiten Run a Job (.sync) ni Wait for Callback (. waitForTaskSímbolo). El soporte de patrones de integraciones optimizados es diferente para cada integración. Para obtener más información, consulte Flujos de trabajo estándar frente a flujos de trabajo rápidos.
Regiones admitidas
La mayoría deAWS las regiones admiten Step Functions. Para obtener una lista deAWS las regiones en las que está disponible Step Functions, consulte la Tabla deAWS regiones
¿Es la primera vez que utilizas Step Functions?
Si es la primera vez que utiliza Step Functions, los siguientes temas le ayudarán a entender las diferentes partes del trabajo con Step Functions, incluida la forma en que Step Functions se combina con otrosAWS servicios: