翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
サービス API にパラメータを渡す
サービス API に渡されるパラメータを管理するには、"Parameters"
フィールドを Task
状態で使用します。
静的 JSON をパラメータとして渡す
JSON オブジェクトをパラメータとしてリソースに渡すには、ステートマシン定義に直接含めます。
例えば、RetryStrategy
API の SubmitJob
パラメータを AWS Batch 用に設定するには、次のようにパラメータに含めます。
"RetryStrategy": {
"attempts": 5
}
また、静的 JSON を使用して複数のパラメータを渡すこともできます。より複雑な例として、Amazon SNS トピックを 発行するタスクの仕様の "Resource"
フィールドおよび "Parameters"
フィールドを以下に示します。
"Resource": "arn:aws:states:::sns:publish",
"Parameters": {
"TopicArn": "arn:aws:sns:us-east-1:123456789012:myTopic",
"Message": "test message",
"MessageAttributes": {
"my attribute no 1": {
"DataType": "String",
"StringValue": "value of my attribute no 1"
},
"my attribute no 2": {
"DataType": "String",
"StringValue": "value of my attribute no 2"
}
}
},
パスを使用して状態入力をパラメータとして渡す
状態の入力の一部をパラメータに渡すには、パスを使用します。パスは $
で始まる文字列です。これを使用して JSON テキスト内でコンポーネントを識別できます。Step Functions パスは JsonPath
パラメータでパスを使用して入力内の JSON ノードを参照するように指定するには、パラメータ名の末尾を .$
で終了します。例えば、message
という名前のノードに状態入力のテキストがある場合、そのパスで入力 JSON を参照することでパラメータに渡すことができます。
次の状態入力を使用します。
{
"comment": "A message in the state input",
"input": {
"message": "foo",
"otherInfo": "bar"
},
"data": "example"
}
次のようにして、メッセージ foo
をパラメータとして渡すことができます。
"Parameters": {"Message.$": "$.input.message"},
Step Functions のパラメータの使用の詳細については、以下を参照してください。
コンテキストオブジェクトノードをパラメータとして渡す
静的コンテンツおよび状態の入力からのノードに加えて、コンテキストオブジェクトからノードをパラメータとして渡すことができます。コンテキストオブジェクトは、ステートマシンの実行中に存在する動的な JSON データです。これにはステートマシンと現在の実行に関する情報が含まれます。コンテキストオブジェクトにアクセスするには、状態の定義の "Parameters"
フィールド内のパスを使用できます。
コンテキストオブジェクトに関する詳細と "Parameters"
フィールドからデータにアクセスする方法については、次を参照してください。