ItemSelector - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ItemSelector

デフォルトでは、Map 状態の有効な入力は、未加工の状態入力に含まれる個々のデータ項目のセットです。ItemSelector フィールドでは、データ項目の値を Map 状態に渡す前にオーバーライドできます。値をオーバーライドするには、キーと値のペアのコレクションを含む有効な JSON 入力を指定します。これらのペアは、ステートマシン定義で提供される静的な値でも、パスを使用して状態入力から選択された値でも、コンテキストオブジェクトからアクセスされる値でもかまいません。

パスまたはコンテキストオブジェクトを使用してキーと値のペアを指定する場合、キー名は .$ で終わる必要があります。

注記

Map 状態内の Parameters フィールドは ItemSelector フィールドに置き換わります。Map 状態定義内の Parameters フィールドを使用してカスタム入力を作成する場合は、ItemSelector に置き換えることを強くお勧めします。

ItemSelector フィールドは、インラインマップ状態分散マップ状態の両方で指定できます。

例えば、imageData ノード内の 3 つの項目の配列を含む次の JSON 入力があるとします。Map 状態反復ごとに、配列項目が入力として反復に渡されます。

[ { "resize": "true", "format": "jpg" }, { "resize": "false", "format": "png" }, { "resize": "true", "format": "jpg" } ]

次の例に示すように、ItemSelector フィールドを使用して、元の入力をオーバーライドするカスタム JSON 入力を定義できます。次に、Step Functions はこのカスタム入力を各Map 状態反復に渡します。カスタム入力には、Map 状態のための size の静的値とコンテキストオブジェクトデータの値が含まれます。$$.Map.Item.Value コンテキストオブジェクトには、個々のデータ項目の値が含まれます。

{ "ItemSelector": { "size": 10, "value.$": "$$.Map.Item.Value" } }

次の例は、インラインマップステートの反復ごとに受け取る入力を示しています。

{ "size": 10, "value": { "resize": "true", "format": "jpg" } }
ヒント

ItemSelector フィールドを使用する分散マップ状態の完全な例については、「分散マップ状態の使用開始」を参照してください。