💲

AWS Step Functionsにおける「$」の使い方

2024/11/03に公開

AWS Step Functionsにおけるドルマーク($)の使い方を、入門者向けに短く説明します。以下の3種類あることを覚えておきましょう。

  1. 値として$.fooのように使用する場合、$は操作対象オブジェクトを指しています。対象オブジェクトが{"foo": "hello world"}であれば、$.foohello worldを表しています。対象オブジェクトの具体的な説明はAWS Step Functionsの入出力早見表などをご参照ください。値の書き方についてはJsonPathを調べてください。

  2. 値として$$.Execution.Idのように使用する場合、$$コンテキストオブジェクトを指しています。実行IDやステートマシン名、実行開始時間などを取得できます。値の書き方はJsonPathです。

  3. ParameterResultSelector内のキーとしてKey.$のように使用する場合、そのキーの値がJsonPathや組み込み関数であることを意味しています。キー名の.$は最終的に取り除かれます。使い方は以下のようになります。

    ##### 誤り #####
    "Parameters": {
      "Message": "$.message",
      "Array": "States.Array($.id)",
      "Time": "$$.Execution.StartTime",
      "Greeting": "Hello!"
    }
    
    ##### 正しい #####
    "Parameters": {
      "Message.$": "$.message",
      "Array.$": "States.Array($.id)",
      "Time.$": "$$.Execution.StartTime",
      "Greeting": "Hello!"
    }
    

Discussion