すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:Fn::Jq

最終更新日:Jan 16, 2025

組み込み関数 Fn::Jq 関数は、jq 機能をサポートし、フィルターを使用して JSON 文字列の値をソートするために使用されます。

宣言

  • JSON

    {
      "Fn::Jq": [
        method,
        script,
        object
      ]
    }
  • YAML

    • 完全な関数名の構文:

      Fn::Jq: method,script,object
    • 短縮形の構文:

      !Jq [method,script,object]

パラメーター

  • method: 必須。パラメーター値は String 型である必要があります。

    有効な値:

    • First: フィルターによってソートされた最初の値

    • All: フィルターによってソートされたすべての値

  • script: 必須。パラメーター値は String 型である必要があります。このパラメーターは、JSON 文字列の値をソートするためのフィルターとして使用する jq スクリプトを指定します。 jq 機能の詳細については、jq Manual (development version) をご参照ください。

  • object: 必須。このパラメーターは JSON 文字列を指定します。

戻り値

フィルターによってソートされた文字列内の値。

単一フィルター

次の例では、関数は .test フィルターによってソートされた最初の値を返します。 JSON 文字列を指定すると、test キーの値が返されます。値が存在しない場合は、null が返されます。

!Jq
  - First
  - .test
  - '{"test":"test"}'

結果:

test

複数フィルター

説明

複数のフィルターは縦棒(|)で区切ります。

次の例では、.parameters[] フィルターによってソートされた値が別のフィルターによってソートされます。フィルターは縦棒(|)で区切られます。 JSON 文字列を指定すると、.parameters[] | {"param_name": .name, "param_type":.type} キーの値が返されます。値が存在しない場合は、null が返されます。フィルターに基づいて parameters キーの値を確認して、最初の戻り値を取得する必要があります。戻り値で、name キーと type キーの値を確認して、最終的な戻り値を取得する必要があります。フィルターによって値がソートされない場合は、null が返されます。

!Jq
  - All
  - '.parameters[] | {"param_name": .name, "param_type":.type}'
  - changeSet:
      items: []
      kind: git
    id: 2013-12-27_00-09-37
    parameters:
      - name: PKG_TAG_NAME
        value: trunk
      - name: GIT_COMMIT
        value: master
      - name: TRIGGERED_JOB
        value: trunk-buildall

結果:

- param_name: PKG_TAG_NAME
- param_name: GIT_COMMIT
- param_name: TRIGGERED_JOB