As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Testando máquinas de estado com Step Functions Local (não suportado)
Step Functions Local não é suportado
O Step Functions Local não fornece paridade de recursos e não é suportado.
Você pode considerar soluções de terceiros que emulam Step Functions para fins de teste.
Com o AWS Step Functions Local, uma versão disponível para download do Step Functions, você pode testar aplicativos com o Step Functions em execução em seu próprio ambiente de desenvolvimento.
Ao executar o Step Functions Local, você pode usar uma das seguintes formas de invocar integrações de serviços:
-
Configurando endpoints locais para AWS Lambda e outros serviços.
-
Fazer chamadas diretamente para um AWS serviço do Step Functions Local.
-
Simulando a resposta das integrações de serviços.
AWS O Step Functions Local está disponível como um JAR pacote ou uma imagem autônoma do Docker que é executada no Microsoft Windows, Linux, macOS e outras plataformas que suportam Java ou Docker.
Atenção
Você só deve usar o Step Functions Local para testar e nunca para processar informações confidenciais.
Tópicos
Configurar o Step Functions Local (versão para download) no Docker
A imagem do Docker do Step Functions Local permite que você comece a usar rapidamente o Step Functions Local usando uma imagem do Docker com todas as dependências necessárias. A imagem do Docker permite incluir o Step Functions Local em compilações em contêineres e como parte dos testes de integração contínua.
Para obter a imagem do Docker para Step Functions Local, consulte https://hub.docker.com/r/amazon/ aws-stepfunctions-localpull
docker pull amazon/aws-stepfunctions-local
Para iniciar a versão para download do Step Functions no Docker, execute o seguinte comando run
do Docker
docker run -p 8083:8083 amazon/aws-stepfunctions-local
Para interagir com AWS Lambda ou com outros serviços compatíveis, você precisa primeiro configurar suas credenciais e outras opções de configuração. Para obter mais informações, consulte os tópicos a seguir.
Configuração do Step Functions Local (versão para download) - Versão Java
A versão para download do AWS Step Functions é fornecida como um JAR arquivo executável e como uma imagem do Docker. O aplicativo Java é executado no Windows, Linux, macOS e outras plataformas compatíveis com Java. Além do Java, você precisa instalar o AWS Command Line Interface (AWS CLI). Para obter informações sobre como instalar e configurar o AWS CLI, consulte o Guia do AWS Command Line Interface usuário.
Como configurar e executar o Step Functions no computador
-
Faça download do Step Functions usando os seguintes links.
Links para fazer download Soma de verificação .tar.gz .tar.gz.md5 .zip .zip.md5 -
Extraia o arquivo
.zip
. -
Teste o download e visualize as informações da versão.
$ java -jar StepFunctionsLocal.jar -v Step Function Local Version: 2.0.0 Build: 2024-05-18
-
(Opcional) Visualize uma lista de comandos disponíveis.
$ java -jar StepFunctionsLocal.jar -h
-
Para iniciar o Step Functions em seu computador, abra uma janela de prompt de comando, vá até o diretório onde você extraiu o
StepFunctionsLocal.jar
e insira o seguinte comando.java -jar StepFunctionsLocal.jar
-
Para acessar o Step Functions em execução localmente, use o parâmetro
--endpoint-url
. Por exemplo, usando o AWS CLI, você especificaria os comandos Step Functions da seguinte forma:aws stepfunctions --endpoint-url http://localhost:8083
command
nota
Por padrão, o Step Functions Local usa uma conta de teste e credenciais locais e a Região da AWS é definida como Leste dos EUA (Norte da Virgínia). Para usar o Step Functions Local com AWS Lambda, ou outros serviços suportados, você deve configurar suas credenciais e sua região.
Se você usar fluxos de trabalho expressos com o Step Functions Local, o histórico de execuções será armazenado em um arquivo de log. Ele não está registrado no CloudWatch Logs. O caminho do arquivo de log será baseado no grupo de CloudWatch registros de registros ARN fornecido quando você criar a máquina de estado local. O arquivo de log será armazenado no /aws/states/log-group-name/
relativo ao local em que você estiver executando o Step Functions Local. Por exemplo, se a execução ARN for:${execution_arn}
.log
arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI
o arquivo de log será:
aws/states/log-group-name/arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI.log
Definindo opções de configuração para Step Functions Local
Ao iniciar o AWS Step Functions Local usando o JAR arquivo, você pode definir as opções de configuração usando o AWS Command Line Interface (AWS CLI) ou incluindo-as no ambiente do sistema. Para o Docker, você deve especificar essas opções em um arquivo ao qual faz referência ao iniciar o Step Functions Local.
Opções de configuração
Quando você configura o contêiner do Step Functions Local para usar um endpoint de substituição, como Lambda Endpoint e Batch Endpoint, e faz chamadas para esse endpoint, o Step Functions Local não usa as credenciais que você especifica. Definir essas substituições de endpoint é opcional.
Opção | Linha de comando | Environment |
---|---|---|
Conta | -account, --aws-account | AWS_ACCOUNT_ID |
Região | -region, --aws-region | AWS_DEFAULT_REGION |
Aguardar escala de tempo | -waitTimeScale, --wait-time-scale | WAIT_TIME_SCALE |
Endpoint do Lambda | -lambdaEndpoint, --lambda-endpoint | LAMBDA_ENDPOINT |
Endpoint do Batch | -batchEndpoint, --batch-endpoint | BATCH_ENDPOINT |
Endpoint do DynamoDB | -dynamoDBEndpoint, --dynamodb-endpoint | DYNAMODB_ENDPOINT |
Endpoint do ECS | -ecsEndpoint, --ecs-endpoint | ECS_ENDPOINT |
Endpoint do Glue | -glueEndpoint, --glue-endpoint | GLUE_ENDPOINT |
SageMaker Ponto final | -sageMakerEndpoint, --sagemaker-endpoint | SAGE_MAKER_ENDPOINT |
Endpoint do SQS | -sqsEndpoint, --sqs-endpoint | SQS_ENDPOINT |
Endpoint do SNS | -snsEndpoint, --sns-endpoint | SNS_ENDPOINT |
Endpoint do Step Functions | -stepFunctionsEndpoint, --step-functions-endpoint | STEP_FUNCTIONS_ENDPOINT |
Credenciais e configuração para o Docker
Para configurar o Step Functions Local para o Docker, crie o seguinte arquivo: aws-stepfunctions-local-credentials.txt
.
Esse arquivo contém suas credenciais e outras opções de configuração. O seguinte pode ser usado como modelo ao criar o arquivo 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
Depois de configurar suas credenciais e opções de configuração em aws-stepfunctions-local-credentials.txt
, inicie o Step Functions com o seguinte comando.
docker run -p 8083:8083 --env-file aws-stepfunctions-local-credentials.txt amazon/aws-stepfunctions-local
nota
É recomendável usar o DNS nome especialhost.docker.internal
, que é resolvido para o endereço IP interno que o host usa, comohttp://host.docker.internal:8000
. Para obter mais informações, consulte a documentação do Docker para Mac e Windows em Recursos de rede no Docker Desktop para Mac
Executando o Step Functions Local em seu computador
Use a versão local do Step Functions para configurar, desenvolver e testar máquinas de estado em seu computador.
Execute uma máquina de HelloWorld estado localmente
Depois de executar Step Functions localmente com o AWS Command Line Interface (AWS CLI), você pode iniciar a execução de uma máquina de estado.
-
Crie uma máquina de estado a partir do AWS CLI escapando da definição da máquina de estado.
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
O
role-arn
não é usado para o Step Functions Local, mas é necessário incluí-lo com a sintaxe adequada. Você pode usar o Amazon Resource Name (ARN) do exemplo anterior.Se você criar com sucesso a máquina de estado, o Step Functions responderá com a data de criação e a máquina de ARN estado.
{ "creationDate": 1548454198.202, "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld" }
-
Inicie uma execução usando a máquina ARN de estado que você criou.
aws stepfunctions --endpoint-url http://localhost:8083 start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld
Step Functions Local com AWS SAM CLI Local
É possível usar a versão local do Step Functions com uma versão local do AWS Lambda. Para configurar isso, é necessário instalar e configurar o AWS SAM.
Para obter informações sobre configuração e execução AWS SAM, consulte o seguinte:
Assim que o Lambda estiver em execução no sistema local, será possível iniciar o Step Functions Local. No diretório em que você extraiu seus JAR arquivos locais do Step Functions, inicie o Step Functions Local e use o --lambda-endpoint
parâmetro para configurar o endpoint local do Lambda.
java -jar StepFunctionsLocal.jar --lambda-endpoint http://127.0.0.1:3001 command
Para obter mais informações sobre a execução do Step Functions Local com AWS Lambda, consulteTutorial: Testando fluxos de trabalho usando Step Functions e Local AWS SAM CLI.