Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Testen von Zustandsmaschinen mit Step Functions Local (nicht unterstützt)
Step Functions Local wird nicht unterstützt
Step Functions Local bietet keine Funktionsparität und wird nicht unterstützt.
Sie könnten Lösungen von Drittanbietern in Betracht ziehen, die Step Functions zu Testzwecken emulieren.
Mit AWS Step Functions Local, einer herunterladbaren Version von Step Functions, können Sie Anwendungen mit Step Functions testen, die in Ihrer eigenen Entwicklungsumgebung ausgeführt werden.
Wenn Sie Step Functions Local ausführen, können Sie Serviceintegrationen auf eine der folgenden Arten aufrufen:
-
Konfiguration lokaler Endpunkte für AWS Lambda und andere Dienste.
-
Direktes Aufrufen eines AWS Dienstes von Step Functions Local aus.
-
Die Antwort von Serviceintegrationen verspotten.
AWS Step Functions Local ist als JAR Paket oder als eigenständiges Docker-Image verfügbar, das unter Microsoft Windows, Linux, macOS und anderen Plattformen läuft, die Java oder Docker unterstützen.
Warnung
Sie sollten Step Functions Local nur zum Testen verwenden und niemals vertrauliche Informationen verarbeiten.
Themen
Step Functions lokal einrichten (herunterladbare Version) in Docker
Mit dem Docker-Image Step Functions Local können Sie schnell mit Step Functions Local beginnen, indem Sie ein Docker-Image mit allen erforderlichen Abhängigkeiten verwenden. Das Docker-Image ermöglicht es Ihnen, Step Functions Local in Ihre containerisierten Builds und als Teil Ihrer kontinuierlichen Integrationstests aufzunehmen.
Das Docker-Image für Step Functions Local finden Sie unter https://hub.docker.com/r/amazon/ aws-stepfunctions-localpull
Docker-Befehl ein.
docker pull amazon/aws-stepfunctions-local
Führen Sie den folgenden Docker-Befehl aus, um die herunterladbare Version von Step Functions auf run
Docker zu starten
docker run -p 8083:8083 amazon/aws-stepfunctions-local
Um mit AWS Lambda oder anderen unterstützten Diensten zu interagieren, müssen Sie zuerst Ihre Anmeldeinformationen und andere Konfigurationsoptionen konfigurieren. Weitere Informationen finden Sie unter den folgenden Themen:
Step Functions lokal einrichten (herunterladbare Version) — Java-Version
Die herunterladbare Version von AWS Step Functions wird als ausführbare JAR Datei und als Docker-Image bereitgestellt. Die Java-Anwendung kann auf Windows-, Linux-, macOS- und anderen Plattformen, die Java unterstützen, ausgeführt werden. Zusätzlich zu Java müssen Sie das AWS Command Line Interface (AWS CLI) installieren. Informationen zur Installation und Konfiguration von finden Sie im AWS Command Line Interface Benutzerhandbuch. AWS CLI
So richten Sie Step Functions auf Ihrem Computer ein und führen sie aus
-
Laden Sie Step Functions über die folgenden Links herunter.
Download-Links Prüfsumme .tar.gz .tar.gz.md5 .zip .zip.md5 -
Extrahieren Sie die
.zip
-Datei. -
Testen Sie den Download und lesen Sie die Versionsinformationen.
$ java -jar StepFunctionsLocal.jar -v Step Function Local Version: 2.0.0 Build: 2024-05-18
-
(Optional) Zeigen Sie eine Liste der verfügbaren Befehle an.
$ java -jar StepFunctionsLocal.jar -h
-
Um Step Functions auf Ihrem Computer zu starten, öffnen Sie eine Befehlszeile, navigieren Sie zu dem Verzeichnis, in das Sie extrahiert haben
StepFunctionsLocal.jar
, und geben Sie den folgenden Befehl ein.java -jar StepFunctionsLocal.jar
-
Verwenden Sie den
--endpoint-url
Parameter, um auf lokal ausgeführte Step-Funktionen zuzugreifen. Mit den würden Sie AWS CLI beispielsweise die Befehle Step Functions wie folgt angeben:aws stepfunctions --endpoint-url http://localhost:8083
command
Anmerkung
Standardmäßig verwendet Step Functions Local ein lokales Testkonto und Anmeldeinformationen, und die AWS Region ist auf USA Ost (Nord-Virginia) eingestellt. Um Step Functions Local mit AWS Lambda oder anderen unterstützten Diensten verwenden zu können, müssen Sie Ihre Anmeldeinformationen und Region konfigurieren.
Wenn Sie Express-Workflows mit Step Functions Local verwenden, wird der Ausführungsverlauf in einer Protokolldatei gespeichert. Es wird nicht in CloudWatch Logs protokolliert. Der Pfad der Protokolldatei basiert auf der Protokollgruppe CloudWatch Logs, die Sie bei der Erstellung des lokalen Zustandsmaschinen ARN angegeben haben. Die Protokolldatei wird /aws/states/log-group-name/
relativ zu dem Speicherort gespeichert, an dem Sie Step Functions Local ausführen. Wenn die Ausführung beispielsweise wie folgt ARN lautet:${execution_arn}
.log
arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI
hat die Protokolldatei den Namen:
aws/states/log-group-name/arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI.log
Konfigurationsoptionen für Step Functions lokal einrichten
Wenn Sie AWS Step Functions Local mithilfe der JAR Datei starten, können Sie die Konfigurationsoptionen mithilfe von AWS Command Line Interface (AWS CLI) festlegen oder indem Sie sie in die Systemumgebung aufnehmen. Für Docker müssen Sie diese Optionen in einer Datei angeben, auf die Sie beim Start von Step Functions Local verweisen.
Konfigurationsoptionen
Wenn Sie den Step Functions Local-Container so konfigurieren, dass er einen Override-Endpunkt wie Lambda-Endpunkt und Batch-Endpunkt verwendet, und diesen Endpunkt aufrufen, verwendet Step Functions Local die von Ihnen angegebenen Anmeldeinformationen nicht. Das Festlegen dieser Endpunkt-Overrides ist optional.
Option | Befehlszeile | Umgebung |
---|---|---|
Account | -account, --aws-account | AWS_ACCOUNT_ID |
Region | -region, --aws-region | AWS_DEFAULT_REGION |
Wartezeit-Skalierung | -waitTimeScale, --wait-time-scale | WAIT_TIME_SCALE |
Lambda-Endpunkt | -lambdaEndpoint, --lambda-Endpunkt | LAMBDA_ENDPOINT |
Stapelendpunkt | -batchEndpoint, --batch-Endpunkt | BATCH_ENDPOINT |
DynamoDB-Endpunkt | -, --dynamodb-endpunkt dynamoDBEndpoint | DYNAMODB_ENDPOINT |
ECS-Endpunkt | -ecsEndpoint, --ecs-endpunkt | ECS_ENDPOINT |
Glue-Endpunkt | -, --glue-endpoint glueEndpoint | GLUE_ENDPOINT |
SageMaker Endpunkt | -sageMakerEndpoint, --sagemaker-endpoint | SAGE_MAKER_ENDPOINT |
SQS-Endpunkt | -sqsEndpoint, --sqs-Endpunkt | SQS_ENDPOINT |
SNS-Endpunkt | -, --sns-endpoint snsEndpoint | SNS_ENDPOINT |
Step Functions Endpunkt | -stepFunctionsEndpoint, --step-functions-endpoint | STEP_FUNCTIONS_ENDPOINT |
Anmeldeinformationen und Konfiguration für Docker
Um Step Functions Local für Docker zu konfigurieren, erstellen Sie die folgende Datei:aws-stepfunctions-local-credentials.txt
.
Diese Datei enthält Ihre Anmeldeinformationen und andere Konfigurationsoptionen. Folgendes kann beim Erstellen der aws-stepfunctions-local-credentials.txt
Datei als Vorlage verwendet werden.
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
Nachdem Sie Ihre Anmeldeinformationen und Konfigurationsoptionen unter konfiguriert habenaws-stepfunctions-local-credentials.txt
, starten Sie Step Functions mit dem folgenden Befehl.
docker run -p 8083:8083 --env-file aws-stepfunctions-local-credentials.txt amazon/aws-stepfunctions-local
Anmerkung
Es wird empfohlen, den speziellen DNS Namen zu verwendenhost.docker.internal
, der in die interne IP-Adresse aufgelöst wird, die der Host verwendet, z. B. http://host.docker.internal:8000
Weitere Informationen finden Sie in der Docker-Dokumentation für Mac und Windows unter Netzwerkfunktionen in Docker Desktop für Mac bzw.
Step Functions lokal auf Ihrem Computer ausführen
Verwenden Sie die lokale Version von Step Functions, um Zustandsmaschinen auf Ihrem Computer zu konfigurieren, zu entwickeln und zu testen.
Führen Sie eine HelloWorld Zustandsmaschine lokal aus
Nachdem Sie Step Functions lokal mit AWS Command Line Interface (AWS CLI) ausgeführt haben, können Sie eine State-Machine-Ausführung starten.
-
Erstellen Sie einen Zustandsmaschine aus dem, AWS CLI indem Sie die Zustandsmaschinen-Definition umgehen.
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"
Anmerkung
Das
role-arn
wird nicht für Step Functions Local verwendet, aber Sie müssen es mit der richtigen Syntax einbinden. Sie können den Amazon-Ressourcennamen (ARN) aus dem vorherigen Beispiel verwenden.Wenn Sie die Zustandsmaschine erfolgreich erstellt haben, antwortet Step Functions mit dem Erstellungsdatum und der ZustandsmaschineARN.
{ "creationDate": 1548454198.202, "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld" }
-
Starten Sie eine Ausführung mit dem ARN von Ihnen erstellten Zustandsmaschine.
aws stepfunctions --endpoint-url http://localhost:8083 start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld
Step Functions Lokal mit AWS SAM CLI Lokal
Sie können die lokale Version von Step Functions mit einer lokalen Version von verwenden AWS Lambda. Zur Konfiguration müssen Sie AWS SAM installieren und konfigurieren.
Informationen zur Konfiguration und Ausführung AWS SAM finden Sie im Folgenden:
Wenn Lambda auf Ihrem lokalen System läuft, können Sie Step Functions Local starten. Starten Sie Step Functions Local aus dem Verzeichnis, in das Sie Ihre lokalen Step Functions JAR Functions-Dateien extrahiert haben, und verwenden Sie den --lambda-endpoint
Parameter, um den lokalen Lambda-Endpunkt zu konfigurieren.
java -jar StepFunctionsLocal.jar --lambda-endpoint http://127.0.0.1:3001 command
Weitere Hinweise zum Ausführen von Step Functions Local mit AWS Lambda finden Sie unterTutorial: Workflows mit Step Functions und AWS SAM CLI Local testen.