Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Tester des machines à états avec Step Functions Local (non pris en charge)
Step Functions Local n'est pas pris en charge
Step Functions Local n'assure pas la parité des fonctionnalités et n'est pas pris en charge.
Vous pouvez envisager des solutions tierces qui émulent Step Functions à des fins de test.
Avec AWS Step Functions Local, une version téléchargeable de Step Functions, vous pouvez tester des applications avec Step Functions exécutées dans votre propre environnement de développement.
Lorsque vous exécutez Step Functions Local, vous pouvez utiliser l'une des méthodes suivantes pour invoquer des intégrations de services :
-
Configuration de points de terminaison locaux pour AWS Lambda et d'autres services.
-
Téléphoner directement à un AWS service depuis Step Functions Local.
-
Se moquer de la réponse des intégrations de services.
AWS Step Functions Local est disponible sous forme de JAR package ou d'image Docker autonome qui s'exécute sur Microsoft Windows, Linux, macOS et d'autres plateformes compatibles avec Java ou Docker.
Avertissement
Vous ne devez utiliser Step Functions Local qu'à des fins de test et ne jamais traiter d'informations sensibles.
Rubriques
- Configuration de Step Functions Local et Docker
- Configuration de Step Functions en local - Version Java
- Configuration des options locales de Step Functions
- Exécution de Step Functions en local
- Tutoriel : Tester à l'aide de Step Functions et de AWS SAM CLI Local
- Tests avec des intégrations de services simulées
Configuration de Step Functions en local (version téléchargeable) dans Docker
L'image Docker Step Functions Local vous permet de démarrer rapidement avec Step Functions Local en utilisant une image Docker avec toutes les dépendances nécessaires. L'image Docker vous permet d'inclure Step Functions Local dans vos versions conteneurisées et dans le cadre de vos tests d'intégration continus.
Pour obtenir l'image Docker de Step Functions Local, consultez https://hub.docker.com/r/amazon/ aws-stepfunctions-localpull
Docker suivante.
docker pull amazon/aws-stepfunctions-local
Pour démarrer la version téléchargeable de Step Functions sur Docker, exécutez la commande run
Docker suivante
docker run -p 8083:8083 amazon/aws-stepfunctions-local
Pour interagir avec les services pris en charge AWS Lambda ou avec d'autres services pris en charge, vous devez d'abord configurer vos informations d'identification et les autres options de configuration. Pour plus d’informations, consultez les rubriques suivantes :
Configuration de Step Functions en local (version téléchargeable) - Version Java
La version téléchargeable de AWS Step Functions est fournie sous forme de JAR fichier exécutable et d'image Docker. L'application Java s'exécute sur Windows, Linux, macOS X et autres plateformes qui prennent en charge Java. En plus de Java, vous devez installer le AWS Command Line Interface (AWS CLI). Pour plus d'informations sur l'installation et la configuration du AWS CLI, consultez le guide de AWS Command Line Interface l'utilisateur.
Pour configurer et exécuter Step Functions sur votre ordinateur
-
Téléchargez Step Functions à l'aide des liens suivants.
Télécharger les liens Total de contrôle .tar.gz .tar.gz.md5 .zip .zip .md5 -
Extrayez le fichier
.zip
. -
Testez le téléchargement et affichez les informations de version.
$ java -jar StepFunctionsLocal.jar -v Step Function Local Version: 2.0.0 Build: 2024-05-18
-
(Facultatif) Affichez la liste des commandes disponibles.
$ java -jar StepFunctionsLocal.jar -h
-
Pour démarrer Step Functions sur votre ordinateur, ouvrez une invite de commande, accédez au répertoire dans lequel vous avez effectué l'extraction
StepFunctionsLocal.jar
et entrez la commande suivante.java -jar StepFunctionsLocal.jar
-
Pour accéder à Step Functions s'exécutant localement, utilisez le
--endpoint-url
paramètre. Par exemple, en utilisant le AWS CLI, vous devez spécifier les commandes Step Functions comme suit :aws stepfunctions --endpoint-url http://localhost:8083
command
Note
Par défaut, Step Functions Local utilise un compte de test local et des informations d'identification, et la AWS région est définie sur USA Est (Virginie du Nord). Pour utiliser Step Functions Local avec AWS Lambda ou d'autres services pris en charge, vous devez configurer vos informations d'identification et votre région.
Si vous utilisez des flux de travail Express avec Step Functions Local, l'historique d'exécution sera enregistré dans un fichier journal. Il n'est pas enregistré dans CloudWatch Logs. Le chemin du fichier journal sera basé sur le groupe de CloudWatch journaux des journaux ARN fourni lors de la création de la machine d'état locale. Le fichier journal sera stocké /aws/states/log-group-name/
par rapport à l'emplacement où vous exécutez Step Functions Local. Par exemple, si l'exécution ARN est :${execution_arn}
.log
arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI
le fichier journal sera :
aws/states/log-group-name/arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI.log
Configuration des options de configuration pour Step Functions Local
Lorsque vous démarrez AWS Step Functions Local à l'aide du JAR fichier, vous pouvez définir les options de configuration en utilisant le AWS Command Line Interface (AWS CLI) ou en les incluant dans l'environnement système. Pour Docker, vous devez spécifier ces options dans un fichier auquel vous faites référence lors du démarrage de Step Functions Local.
Options de configuration
Lorsque vous configurez le conteneur Step Functions Local pour utiliser un point de terminaison de remplacement tel que Lambda Endpoint et Batch Endpoint, et que vous appelez ce point de terminaison, Step Functions Local n'utilise pas les informations d'identification que vous spécifiez. La définition de ces remplacements de point de terminaison est facultative.
Option | Ligne de commande | Environnement |
---|---|---|
Compte | -compte, --aws-account | AWS_ACCOUNT_ID |
Région | -région, --aws-region | AWS_DEFAULT_REGION |
Échelle de délai d'attente | -waitTimeScale, --wait-time-scale | WAIT_TIME_SCALE |
Point de terminaison Lambda | -lambdaEndpoint, --lambda-endpoint | LAMBDA_ENDPOINT |
Point de terminaison par lot | -batchEndpoint, --batch-endpoint | BATCH_ENDPOINT |
Point de terminaison DynamoDB | -dynamoDBEndpoint, --dynamodb-endpoint | DYNAMODB_ENDPOINT |
Point de terminaison ECS | -ecsEndpoint, --ecs-point de terminaison | ECS_ENDPOINT |
Point de terminaison Glue | -glueEndpoint, --glue-endpoint | GLUE_ENDPOINT |
SageMaker Point final | -sageMakerEndpoint, --sagemaker-endpoint | SAGE_MAKER_ENDPOINT |
Point de terminaison SQS | -sqsEndpoint, --sqs-point de terminaison | SQS_ENDPOINT |
Point de terminaison SNS | -snsEndpoint, --sns-endpoint | SNS_ENDPOINT |
Point de terminaison Step Functions | -stepFunctionsEndpoint, --step-functions-endpoint | STEP_FUNCTIONS_ENDPOINT |
Informations d'identification et configuration pour Docker
Pour configurer Step Functions Local pour Docker, créez le fichier suivant : aws-stepfunctions-local-credentials.txt
Ce fichier contient vos informations d'identification et d'autres options de configuration. Ce qui suit peut être utilisé comme modèle lors de la création du aws-stepfunctions-local-credentials.txt
fichier.
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
Une fois que vous avez configuré vos informations d'identification et vos options de configuration dansaws-stepfunctions-local-credentials.txt
, lancez Step Functions avec la commande suivante.
docker run -p 8083:8083 --env-file aws-stepfunctions-local-credentials.txt amazon/aws-stepfunctions-local
Note
Il est recommandé d'utiliser le DNS nom spécialhost.docker.internal
, qui correspond à l'adresse IP interne utilisée par l'hôte, par exemplehttp://host.docker.internal:8000
. Pour plus d'informations, consultez la documentation Docker pour Mac et Windows sous Fonctionnalités réseau dans Docker Desktop pour Mac
Exécution de Step Functions Local sur votre ordinateur
Utilisez la version locale de Step Functions pour configurer, développer et tester des machines d'état sur votre ordinateur.
Exécuter une machine HelloWorld d'état localement
Après avoir exécuté Step Functions localement avec le AWS Command Line Interface (AWS CLI), vous pouvez démarrer une exécution State Machine.
-
Créez une machine à états à partir du AWS CLI en échappant à la définition de la machine à états.
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"
Note
Le n'
role-arn
est pas utilisé pour Step Functions Local, mais vous devez l'inclure avec la syntaxe appropriée. Vous pouvez utiliser le nom de ressource Amazon (ARN) de l'exemple précédent.Si vous créez correctement la machine à états, Step Functions répond en indiquant la date de création et la machine à étatsARN.
{ "creationDate": 1548454198.202, "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld" }
-
Lancez une exécution à l'aide ARN de la machine à états que vous avez créée.
aws stepfunctions --endpoint-url http://localhost:8083 start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld
Step Functions Local avec AWS SAM CLI Local
Vous pouvez utiliser la version locale de Step Functions avec une version locale de AWS Lambda. Pour configurer cela, vous devez installer et configurer AWS SAM.
Pour plus d'informations sur la configuration et l'exécution AWS SAM, consultez les rubriques suivantes :
Lorsque Lambda est exécuté sur votre système local, vous pouvez démarrer Step Functions Local. Dans le répertoire où vous avez extrait vos JAR fichiers locaux Step Functions, lancez Step Functions Local et utilisez le --lambda-endpoint
paramètre pour configurer le point de terminaison Lambda local.
java -jar StepFunctionsLocal.jar --lambda-endpoint http://127.0.0.1:3001 command
Pour plus d'informations sur l'exécution de Step Functions Local avec AWS Lambda, consultezTutoriel : Tester les flux de travail à l'aide de Step Functions et de AWS SAM CLI Local.