All Products
Search
Document Center

Resource Orchestration Service:Fn::Jq

Last Updated:Jun 26, 2025

Fungsi bawaan Fn::Jq digunakan untuk mendukung fitur jq dan menyaring nilai dalam string JSON menggunakan filter.

Deklarasi

  • JSON

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

    • Sintaks untuk nama fungsi lengkap:

      Fn::Jq: method,script,object
    • Sintaks untuk bentuk pendek:

      !Jq [method,script,object]

Parameter

  • method: Diperlukan. Nilai parameter harus bertipe String.

    Nilai yang valid:

    • First: nilai pertama yang diurutkan oleh filter.

    • All: semua nilai yang diurutkan oleh filter.

  • script: Diperlukan. Nilai parameter harus bertipe String. Parameter ini menentukan skrip jq yang digunakan sebagai filter untuk menyaring nilai dalam string JSON. Untuk informasi lebih lanjut tentang fitur jq, lihat Manual jq (versi pengembangan).

  • object: Diperlukan. Parameter ini menentukan string JSON.

Nilai kembali

Nilai dalam string yang diurutkan oleh filter.

Contoh

Filter tunggal

Pada contoh berikut, fungsi mengembalikan nilai pertama yang diurutkan oleh filter .test. Saat Anda menentukan string JSON, nilai pada kunci test dikembalikan. Jika nilai tidak ada, null dikembalikan.

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

Hasil:

test

Filter ganda

Catatan

Pisahkan beberapa filter dengan tanda batang vertikal (|).

Pada contoh berikut, nilai yang diurutkan oleh filter .parameters[] diurutkan oleh filter lainnya. Filter dipisahkan oleh tanda batang vertikal (|). Saat Anda menentukan string JSON, nilai pada kunci .parameters[] | {"param_name": .name, "param_type":.type} dikembalikan. Jika nilai tidak ada, null dikembalikan. Anda harus memeriksa nilai yang Key-nya adalah parameters berdasarkan filter untuk mendapatkan nilai awal yang dikembalikan. Pada nilai-nilai yang dikembalikan, Anda harus memeriksa nilai yang Key-nya adalah name dan type untuk mendapatkan nilai akhir yang dikembalikan. Jika tidak ada nilai yang diurutkan oleh filter, null dikembalikan.

!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

Hasil:

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