翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Step Functions Local はサポートされていません
Step Functions Local は機能パリティを提供しておらず、サポートされていません。
テスト目的で Step Functions をエミュレートするサードパーティーソリューションを検討することもできます。
AWS Step Functions のダウンロード可能なバージョンである Step Functions Local を使用すると、独自の開発環境で実行されている Step Functions を使用してアプリケーションをテストできます。
Step Functions Local を実行するときは、次のいずれかの方法を使用してサービス統合を呼び出すことができます。
-
AWS Lambda およびその他の サービスのローカルエンドポイントの設定。
-
Step Functions Local から AWS サービスを直接呼び出します。
-
サービス統合からのレスポンスをモックします。
AWS Step Functions Local は、Microsoft Windows、Linux、macOS、および Java または Docker をサポートする他のプラットフォームで実行される JAR パッケージまたは自己完結型の Docker イメージとして使用できます。
警告
Step Functions Local はテストにのみ使用し、機密情報を処理しないでください。
トピック
Docker での Step Functions Local (ダウンロード可能バージョン) のセットアップ
Step Functions Local Docker イメージでは、Docker イメージを必要なすべての依存関係とともに使用して、Step Functions Local の使用をすぐにスタートできます。この Docker イメージでは、Step Functions Local を継続的統合テストの一部としてコンテナ化されたビルドに組み込むことができます。
Step Functions Local の Docker イメージを取得するには、https://hub.docker.com/r/amazon/aws-stepfunctions-localpull
コマンドを入力します。
docker pull amazon/aws-stepfunctions-local
ダウンロード可能なバージョンの Step Functions を Docker で起動するには、次の Docker run
コマンドを実行します。
docker run -p 8083:8083 amazon/aws-stepfunctions-local
AWS Lambda または他のサポートされている サービスとやり取りするには、まず認証情報やその他の設定オプションを設定する必要があります。詳細については、以下の各トピックを参照してください。
Step Functions Local (ダウンロード可能バージョン) - Java バージョンのセットアップ
ダウンロード可能なバージョンの AWS Step Functions は、実行可能 JAR ファイルおよび Docker イメージとして提供されます。Java アプリケーションは、Windows、Linux、macOS、および Java をサポートする他のプラットフォームで動作します。Java に加えて、 AWS Command Line Interface () をインストールする必要がありますAWS CLI。のインストールと設定の詳細については AWS CLI、「 AWS Command Line Interface ユーザーガイド」を参照してください。
コンピュータで Step Functions をセットアップして実行するには
-
次のリンクを使用して Step Functions をダウンロードします。
ダウンロードリンク チェックサム .tar.gz .tar.gz.md5 .zip .zip.md5 -
.zip
ファイルを抽出します。 -
ダウンロードをテストし、バージョン情報を表示します。
$ java -jar StepFunctionsLocal.jar -v Step Function Local Version: 2.0.0 Build: 2024-05-18
-
(オプション) 使用可能なコマンドのリストを表示します。
$ java -jar StepFunctionsLocal.jar -h
-
コンピュータで Step Functions をスタートするには、コマンドプロンプトを開き、
StepFunctionsLocal.jar
を展開したディレクトリに移動して、次のコマンドを入力します。java -jar StepFunctionsLocal.jar
-
ローカルで実行中の Step Functions にアクセスするには、
--endpoint-url
パラメータを使用します。たとえば、 を使用して AWS CLI、次のように Step Functions コマンドを指定します。aws stepfunctions --endpoint-url http://localhost:8083
command
注記
デフォルトでは、Step Functions Local はローカルテストアカウントと認証情報を使用し、 AWS リージョンは米国東部 (バージニア北部) に設定されます。Step Functions Local を AWS Lambdaまたは他のサポートされているサービスで使用するには、認証情報とリージョンを設定する必要があります。
Express ワークフローを Step Functions Local で使用すると、実行履歴はログファイルに保存されます。これは CloudWatch ログには記録されません。ログファイルのパスは、ローカルステートマシンの作成時に指定された CloudWatch Logs ロググループ ARN に基づきます。ログファイルは、Step Functions Local を実行しているロケーションに相対的な /aws/states/log-group-name/
に保存されます。例えば、実行 ARN が以下であるとします。${execution_arn}
.log
arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI
ログファイルは以下のようになります。
aws/states/log-group-name/arn:aws:states:us-east-1:123456789012:express:test:example-ExpressLogGroup-wJalrXUtnFEMI.log
Step Functions Local の設定オプションを指定する
JAR ファイルを使用して AWS Step Functions Local を起動する場合、 AWS Command Line Interface (AWS CLI) を使用するか、システム環境に含めて設定オプションを設定できます。Docker の場合、Step Functions Local を起動するときに、リファレンスにするファイルでこれらのオプションを指定する必要があります。
設定オプション
Lambda エンドポイントや Batch エンドポイントなどのオーバーライドエンドポイントを使用するよう Step Functions Local コンテナを設定して、そのエンドポイントを呼び出す場合、Step Functions Local では、指定した認証情報は使用されません。これらのエンドポイントオーバーライドの設定は任意です。
オプション | コマンドライン | 環境 |
---|---|---|
アカウント | -account, --aws-account | AWS_ACCOUNT_ID |
リージョン | -region, --aws-region | AWS_DEFAULT_REGION |
待機タイムスケール | -waitTimeScale, --wait-time-scale | WAIT_TIME_SCALE |
Lambda エンドポイント | -lambdaEndpoint, --lambda-endpoint | LAMBDA_ENDPOINT |
バッチエンドポイント | -batchEndpoint, --batch-endpoint | BATCH_ENDPOINT |
DynamoDB エンドポイント | -dynamoDBEndpoint, --dynamodb-endpoint | DYNAMODB_ENDPOINT |
ECS エンドポイント | -ecsEndpoint, --ecs-endpoint | ECS_ENDPOINT |
Glue エンドポイント | -glueEndpoint, --glue-endpoint | GLUE_ENDPOINT |
SageMaker エンドポイント | -sageMakerEndpoint, --sagemaker-endpoint | SAGE_MAKER_ENDPOINT |
SQS エンドポイント | -sqsEndpoint, --sqs-endpoint | SQS_ENDPOINT |
SNS エンドポイント | -snsEndpoint, --sns-endpoint | SNS_ENDPOINT |
Step Functions エンドポイント | -stepFunctionsEndpoint, --step-functions-endpoint | STEP_FUNCTIONS_ENDPOINT |
Docker の認証情報と設定
Step Functions Local for Docker を設定するには、次のファイル aws-stepfunctions-local-credentials.txt
を作成します。
このファイルには、認証情報および他の設定オプションが含まれています。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
認証情報と設定オプションを aws-stepfunctions-local-credentials.txt
で設定したら、次のコマンドを使用して Step Functions を起動します。
docker run -p 8083:8083 --env-file aws-stepfunctions-local-credentials.txt amazon/aws-stepfunctions-local
注記
ホストが使用する内部 IP アドレス (http://host.docker.internal:8000
など) に対応する特別な DNS 名、host.docker.internal
を使用することをお勧めします。詳細については、Networking features in Docker Desktop for Mac
Step Functions Local を自分のコンピュータで実行する
ローカルバージョンの Step Functions を使用して、コンピュータでステートマシンを設定、開発、およびテストします。
HelloWorld ステートマシンをローカルで実行する
AWS Command Line Interface (AWS CLI) を使用して Step Functions をローカルで実行した後、ステートマシンの実行を開始できます。
-
ステートマシン定義をエスケープ AWS CLI して、 からステートマシンを作成します。
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"
注記
role-arn
は Step Functions Local には使用されませんが、適切な構文に含める必要があります。前の例の Amazon リソースネーム (ARN) を使用できます。ステートマシンを正常に作成すると、Step Functions は作成日とステートマシンの ARN で応答します。
{ "creationDate": 1548454198.202, "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld" }
-
作成したステートマシンの ARN を使用して実行を開始します。
aws stepfunctions --endpoint-url http://localhost:8083 start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld
Step Functions Local と AWS SAM CLI Local
ローカルバージョンの AWS Lambdaを、ローカルバージョンの Step Functions で使用できます。これを設定するには、 AWS SAMをインストールして設定する必要があります。
の設定と実行の詳細については AWS SAM、以下を参照してください。
ローカルシステムで Lambda が実行されたら、Step Functions Local をスタートできます。Step Functions Local の JAR ファイルを展開したディレクトリから Step Functions Local を起動し、--lambda-endpoint
パラメータを使用してローカルの Lambda エンドポイントを設定します。
java -jar StepFunctionsLocal.jar --lambda-endpoint http://127.0.0.1:3001 command
で Step Functions Local を実行する方法の詳細については AWS Lambda、「」を参照してくださいチュートリアル: Step Functions と CLI Local AWS SAM を使用したワークフローのテスト。