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.
Probar máquinas de estado con Step Functions Local (no compatible)
Step Functions Local no es compatible
Step Functions Local no proporciona paridad de funciones y no es compatible.
Podrías considerar soluciones de terceros que emulen Step Functions con fines de prueba.
Con AWS Step Functions Local, una versión descargable de Step Functions, puede probar aplicaciones con Step Functions ejecutándose en su propio entorno de desarrollo.
Al ejecutar Step Functions Local, puede utilizar una de las siguientes formas de invocar las integraciones de servicios:
-
Configuración de puntos finales locales para AWS Lambda y otros servicios.
-
Realizar llamadas directamente a un AWS servicio desde Step Functions Local.
-
Simular la respuesta de integraciones de servicios.
AWS Step Functions Local está disponible como un JAR paquete o una imagen de Docker independiente que se ejecuta en Microsoft Windows, Linux, macOS y otras plataformas compatibles con Java o Docker.
aviso
Solo debe usar Step Functions Local para realizar pruebas y nunca para procesar información confidencial.
Temas
Configuración de Step Functions Local (versión descargable) en Docker
La imagen de Docker de Step Functions Local permite empezar a trabajar rápidamente con Step Functions Local mediante una imagen de Docker con todas las dependencias necesarias. La imagen de Docker permite incluir Step Functions Local en las versiones contenedorizadas y como parte de las pruebas continuas de integración.
Para obtener la imagen de Docker para Step Functions Local, consulta https://hub.docker.com/r/amazon/ aws-stepfunctions-localpull
Docker.
docker pull amazon/aws-stepfunctions-local
Para iniciar la versión descargable de Step Functions en Docker, ejecute el siguiente comando run
de Docker.
docker run -p 8083:8083 amazon/aws-stepfunctions-local
Para interactuar con AWS Lambda u otros servicios compatibles, primero debe configurar sus credenciales y otras opciones de configuración. Para obtener más información, consulte los temas siguientes:
Configurar Step Functions Local (versión descargable) - Versión Java
La versión descargable de AWS Step Functions se proporciona como JAR archivo ejecutable y como imagen de Docker. La aplicación Java se ejecuta en Windows, Linux, macOS y otras plataformas compatibles con Java. Además de Java, debe instalar el AWS Command Line Interface (AWS CLI). Para obtener información sobre la instalación y configuración de AWS CLI, consulte la Guía del AWS Command Line Interface usuario.
Para configurar y ejecutar Step Functions en su equipo
-
Descargue Step Functions utilizando los siguientes enlaces.
Enlaces de descarga Suma de comprobación .tar.gz .tar.gz.md5 .zip .zip.md5 -
Extraiga el archivo
.zip
. -
Pruebe la descarga y consulte la información de la versión.
$ java -jar StepFunctionsLocal.jar -v Step Function Local Version: 2.0.0 Build: 2024-05-18
-
(Opcional) Vea una lista de los comandos disponibles.
$ java -jar StepFunctionsLocal.jar -h
-
Para iniciar Step Functions en el equipo, abra un símbolo del sistema, vaya al directorio donde ha extraído
StepFunctionsLocal.jar
y escriba el comando siguiente.java -jar StepFunctionsLocal.jar
-
Para obtener acceso a Step Functions en ejecución local, utilice el parámetro
--endpoint-url
. Por ejemplo, mediante el AWS CLI, especificaría los comandos de Step Functions de la siguiente manera:aws stepfunctions --endpoint-url http://localhost:8083
command
nota
De forma predeterminada, Step Functions Local utiliza una cuenta de prueba y credenciales locales, y la región de AWS se establece en Este de EE. UU. (Norte de Virginia). Para usar Step Functions Local con AWS Lambda u otros servicios compatibles, debe configurar sus credenciales y su región.
Si utiliza flujos de trabajo rápidos con Step Functions Local, el historial de ejecución se almacenará en un archivo de registro. No está registrado en CloudWatch Logs. La ruta del archivo de registro se basará en el grupo de CloudWatch registros ARN proporcionado al crear la máquina de estado local. El archivo de registro se almacenará en /aws/states/log-group-name/
respecto a la ubicación en la que se ejecuta Step Functions Local. Por ejemplo, si la ejecución ARN es:${execution_arn}
.log
arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI
el archivo de registro será:
aws/states/log-group-name/arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI.log
Configurar opciones de configuración para Step Functions Local
Al iniciar AWS Step Functions Local mediante el JAR archivo, puede establecer las opciones de configuración mediante AWS Command Line Interface (AWS CLI) o incluyéndolas en el entorno del sistema. Para Docker, debe especificar estas opciones en un archivo al que haga referencia cuando inicie Step Functions Local.
Opciones de configuración
Cuando configura el contenedor de Step Functions Local para usar un punto de conexión de anulación, como Punto de conexión de Lambda y Punto de conexión de lote, y realiza llamadas a ese punto de conexión, Step Functions Local no utiliza las credenciales que especifique. La configuración de estas anulaciones de punto de conexión es opcional.
Opción | Línea de comandos | Entorno |
---|---|---|
Cuenta | -account, --aws-account | AWS_ACCOUNT_ID |
Región | -region, --aws-region | AWS_DEFAULT_REGION |
Escala de tiempo de espera | -waitTimeScale, --wait-time-scale | WAIT_TIME_SCALE |
Punto de enlace de Lambda | -lambdaEndpoint, --lambda-punto final | LAMBDA_ENDPOINT |
Punto de enlace de Batch | -batchEndpoint, --punto final por lotes | BATCH_ENDPOINT |
Punto de enlace de DynamoDB | -, --punto final de dynamodb dynamoDBEndpoint | DYNAMODB_ENDPOINT |
Punto de enlace de ECS | -ecsEndpoint, --ecs-endpoint | ECS_ENDPOINT |
Punto de enlace de Glue | -, --glue-endpoint glueEndpoint | GLUE_ENDPOINT |
SageMaker Punto final | -sageMakerEndpoint, --sagemaker-endpoint | SAGE_MAKER_ENDPOINT |
Punto de enlace de SQS | -sqsEndpoint, --sqs-endpoint | SQS_ENDPOINT |
Punto de enlace de SNS | -, --sns-endpoint snsEndpoint | SNS_ENDPOINT |
Punto de conexión de Step Functions | -stepFunctionsEndpoint, --step-functions-endpoint | STEP_FUNCTIONS_ENDPOINT |
Credenciales y configuración de Docker
Para configurar Step Functions Local para Docker, cree el archivo siguiente: aws-stepfunctions-local-credentials.txt
.
Este archivo contiene sus credenciales y otras opciones de configuración. Se puede utilizar lo siguiente como plantilla al crear el archivo aws-stepfunctions-local-credentials.txt
.
AWS_DEFAULT_REGION
=AWS_REGION_OF_YOUR_AWS_RESOURCES
AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_KEY
WAIT_TIME_SCALE=VALUE
LAMBDA_ENDPOINT=VALUE
BATCH_ENDPOINT=VALUE
DYNAMODB_ENDPOINT=VALUE
ECS_ENDPOINT=VALUE
GLUE_ENDPOINT=VALUE
SAGE_MAKER_ENDPOINT=VALUE
SQS_ENDPOINT=VALUE
SNS_ENDPOINT=VALUE
STEP_FUNCTIONS_ENDPOINT=VALUE
Una vez que haya configurado sus credenciales y las opciones de configuración en aws-stepfunctions-local-credentials.txt
, inicie Step Functions con el siguiente comando.
docker run -p 8083:8083 --env-file aws-stepfunctions-local-credentials.txt amazon/aws-stepfunctions-local
nota
Se recomienda utilizar el DNS nombre especialhost.docker.internal
, que se traduce en la dirección IP interna que utiliza el host, por ejemplo. http://host.docker.internal:8000
Para obtener más información, consulte la documentación de Docker para Mac y Windows en Networking features in Docker Desktop for Mac
Ejecute Step Functions Local en su ordenador
Utilice la versión local de Step Functions para configurar, desarrollar y probar máquinas de estado en su ordenador.
Ejecute una máquina de HelloWorld estados localmente
Tras ejecutar Step Functions localmente con AWS Command Line Interface (AWS CLI), puede iniciar la ejecución de una máquina de estados.
-
Cree una máquina de estados a partir AWS CLI de la definición de la máquina de estados.
aws stepfunctions --endpoint-url http://localhost:8083 create-state-machine --definition "{\ \"Comment\": \"A Hello World example of the Amazon States Language using a Pass state\",\ \"StartAt\": \"HelloWorld\",\ \"States\": {\ \"HelloWorld\": {\ \"Type\": \"Pass\",\ \"End\": true\ }\ }}" --name "HelloWorld" --role-arn "arn:aws:iam::012345678901:role/DummyRole"
nota
El
role-arn
no se utiliza para Step Functions Local, pero debe incluirlo con la sintaxis adecuada. Puede usar el nombre del recurso de Amazon (ARN) del ejemplo anterior.Si ha creado correctamente la máquina de estados, Step Functions responde con la fecha de creación y la máquina de estadosARN.
{ "creationDate": 1548454198.202, "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld" }
-
Inicie una ejecución con la máquina ARN de estados que creó.
aws stepfunctions --endpoint-url http://localhost:8083 start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld
Step Functions: local con AWS SAM CLI local
Puede utilizar la versión local de Step Functions junto con una versión local de AWS Lambda. Para configurar esto, debe instalar y configurar AWS SAM.
Para obtener información sobre la configuración y la ejecución AWS SAM, consulte lo siguiente:
Una vez que Lambda se esté ejecutando en el sistema local, puede iniciar Step Functions Local. Desde el directorio en el que extrajo los JAR archivos locales de Step Functions, inicie Step Functions Local y utilice el --lambda-endpoint
parámetro para configurar el punto final de Lambda local.
java -jar StepFunctionsLocal.jar --lambda-endpoint http://127.0.0.1:3001 command
Para obtener más información sobre cómo ejecutar Step Functions Local con AWS Lambda, consulteTutorial: Probar flujos de trabajo con Step Functions y AWS SAM CLI Local.