tindakan

Penggunaan

view: view_name {
  dimension: field_name {
    action:  {
      label: "Label to Appear in Action Menu"
      url: "https://example.com/posts"
      icon_url: "https://looker.com/favicon.ico"
      form_url: "https://example.com/ping/{{ value }}/form.json"
      param: {
        name: "name string"
        value: "value string"
      }
      form_param: {
        name:  "name string"
        type: textarea | string | select
        label:  "possibly-localized-string"
        option: {
          name:  "name string"
          label:  "possibly-localized-string"
        }
        required:  yes | no
        description:  "possibly-localized-string"
        default:  "string"
      }
      user_attribute_param: {
        user_attribute: user_attribute_name
        name: "name_for_json_payload"
      }
    }
  }
}
Hierarki
action
Jenis Kolom yang Mungkin
Dimensi, Ukuran

Nilai Default
Tidak ada

Menerima
Berbagai parameter

Aturan Khusus
  • URL form_url harus dapat diakses oleh server Looker dan menggunakan HTTPS dengan sertifikat yang valid
  • URL icon_url harus dapat diakses oleh browser pengguna

Definisi

Parameter action membuat tindakan data yang memungkinkan pengguna melakukan tugas tingkat kolom di alat lain, langsung dari Looker. Misalnya, tindakan dapat membuat email dikirim, menyetel nilai di aplikasi lain, atau melakukan tindakan lain yang dapat Anda konfigurasi agar dilakukan oleh server penerima. Server penerima harus dapat menerima POST JSON.

Anda dapat menentukan action untuk dimensi atau ukuran. Anda dapat mengakses tindakan dengan memilih kolomnya saat Anda berada di halaman Jelajah, Look, atau dasbor.

Saat menentukan action, Anda menentukan perilaku yang dipilih menggunakan parameter berikut:

Parameter Deskripsi
label String yang menentukan nama tindakan sebagaimana akan ditampilkan kepada pengguna di menu Tindakan.
url String yang menentukan URL untuk memproses tindakan. Jika Daftar URL yang Diizinkan untuk Tindakan Data ditentukan, Anda harus menambahkan nilai url ini ke daftar yang diizinkan. Hanya URL yang cocok dengan pola daftar yang diizinkan yang diizinkan untuk tindakan data apa pun. Jika tidak ada entri yang ada, semua URL diizinkan untuk tindakan data.
icon_url String yang menentukan URL yang berisi file gambar untuk memudahkan pengguna memahami, secara sekilas, ke mana link ini akan mengarahkan mereka. Nilai icon_url harus dapat diakses oleh browser pengguna.
form_url String yang menentukan URL yang akan menampilkan formulir kepada pengguna; formulir harus ditampilkan dalam format JSON seperti yang dijelaskan di bagian Menentukan perilaku formulir menggunakan form_url atau form_param di halaman ini. form_url harus dapat diakses oleh server Looker dan menggunakan HTTPS dengan sertifikat yang valid.
param Meneruskan nilai ke server penerima.
form_param Menambahkan input formulir yang akan ditampilkan untuk tindakan ini.
user_attribute_param Meneruskan atribut pengguna ke server penerima. Anda harus menambahkan nilai url tindakan data ke Daftar URL yang Diizinkan untuk Tindakan Data jika Anda menggunakan user_attribute_param untuk tindakan data.

Mirip dengan tindakan data, Anda juga dapat menggunakan tindakan tingkat kolom yang tersedia dari Hub Tindakan Looker untuk mengirim data dari sel tertentu. Lihat bagian Pertimbangkan untuk menggunakan Hub Tindakan Looker di halaman ini untuk mengetahui informasi selengkapnya tentang opsi ini.

Meneruskan atribut pengguna ke server penerima menggunakan user_attribute_param

Anda dapat mengirim atribut pengguna ke server penerima menggunakan parameter user_attribute_param. Dalam setiap user_attribute_param, Anda akan menentukan subparameter berikut:

Parameter Jenis Deskripsi
user_attribute ID Looker Nama atribut pengguna di Looker
name String Nama atribut seperti yang Anda inginkan dalam payload JSON

Meneruskan nilai ke server penerima menggunakan param

Anda dapat mengirim data arbitrer dalam payload JSON menggunakan parameter param. Dalam setiap param, Anda akan menentukan subparameter berikut:

Parameter Jenis Deskripsi
name String Nama parameter yang akan diteruskan ke server penerima
value String Nilai parameter yang akan diteruskan ke server penerima

Jangan teruskan data sensitif atau informasi pribadi, seperti kredensial pengguna, dalam parameter param. Sebagai gantinya, konfigurasi kredensial pengguna sebagai atribut pengguna di setelan Admin, dan teruskan informasi ini dalam parameter user_attribute_param.

Menentukan perilaku formulir menggunakan form_url atau form_param

Anda dapat membuat formulir agar pengguna Looker dapat berinteraksi, lalu mengirimkan input formulir mereka dalam payload JSON Anda. Jika Anda menampilkan formulir, formulir tersebut akan muncul sebagai overlay di halaman (Jelajahi, Lihat, atau dasbor) tempat tindakan dipicu. Anda dapat melakukannya dengan parameter form_url atau form_param.

Jika Anda ingin server hub tindakan menentukan tata letak formulir, gunakan parameter form_url. form_url harus berisi URL yang menampilkan representasi JSON formulir seperti yang dijelaskan di halaman ini.

Jika Anda ingin menentukan tata letak formulir langsung di LookML, gunakan parameter form_param.

Opsi formulir

Dalam kedua kasus tersebut, opsi yang dapat Anda gunakan untuk menentukan formulir adalah:

Opsi Jenis Deskripsi
name String Nama nilai seperti yang akan muncul di payload JSON Anda
type Jenis Input Jenis kolom formulir yang akan ditampilkan kepada pengguna:

  • select - menampilkan daftar drop-down
  • string - menampilkan kolom input satu baris
  • textarea - menampilkan kotak input teks multi-baris
label String Label untuk input sebagaimana akan ditampilkan kepada pengguna
description String Deskripsi untuk kolom yang akan muncul kepada pengguna
required Boolean Menentukan apakah opsi formulir harus diberikan oleh pengguna sebelum formulir dikirim
default String Nilai awal kolom formulir, jika ada
option String Jika Anda memilih type dari select, tentukan opsi pemilihan di sini

Jika Anda menyetel type ke select, Anda kemudian menentukan item dalam daftar drop-down menggunakan option. Setiap option menyertakan detail berikut:

Opsi Jenis Deskripsi
name String Nama nilai formulir sebagaimana akan muncul di payload JSON Anda
label String Label untuk opsi sebagaimana akan ditampilkan kepada pengguna (opsional)

Menggunakan tindakan data tanpa formulir

Jika Anda tidak menyertakan parameter form_url atau form_param dalam definisi action, tindakan data tidak akan menyertakan formulir. Dalam hal ini, tindakan mengirim permintaan saat pengguna memilih tindakan tersebut dari menu Tindakan.

Setelah tindakan tanpa formulir dipilih, menu Tindakan akan menampilkan ikon di sebelah kiri tindakan untuk menunjukkan statusnya:

  • Ikon pemuatan muncul, yang menunjukkan bahwa tindakan sedang dieksekusi.

  • Tanda centang akan muncul, yang menunjukkan bahwa tindakan telah dieksekusi.

  • i dalam lingkaran akan muncul, yang menunjukkan bahwa tindakan gagal.

Jika tidak ada ikon yang muncul di sebelah kiri tindakan, tindakan tersebut tidak dipicu.

Respons server

Respons HTTP yang berhasil akan dianggap sebagai tindakan yang berhasil.

Server juga dapat meneruskan beberapa opsi kembali ke Looker terkait keberhasilan tindakan. Jika permintaan webhook merespons dengan JSON, Looker akan mencari kunci looker khusus dalam respons. Semua hal lainnya akan diabaikan. Misalnya, di:

{
  "my_apps_business_logic": "something",
  "looker": {
    "success": true,
    "refresh_query": true
  }
}

Di sini, success secara default adalah true dan menyetel success ke false akan menunjukkan di Looker bahwa permintaan telah gagal. Selain itu, refresh_query secara default adalah false dan menyetelnya ke true akan menjalankan kembali kueri Looker saat ini, dengan melewati cache.

Anda juga dapat merespons dengan error validasi untuk parameter formulir apa pun yang diteruskan:

{
  "looker": {
    "success": false,
    "validation_errors": {
      "body": "Body must be more than 10 characters long."
    }
  }
}

Di sini, validation_errors secara default adalah {}. Ini harus berupa objek JSON dengan kunci berupa nama parameter formulir dan nilai berupa string yang merepresentasikan pesan error untuk parameter tersebut.

Contoh

Jika Anda menggunakan parameter form_url (dengan sintaksis Liquid dalam contoh ini), semua opsi harus ditampilkan dalam objek JSON. Contoh:

dimension: foo {
  action: {
    label: "Send a Thing"
    url: "https://example.com/ping/\{{ value \}}"
    form_url: "https://example.com/ping/\{{ value \}}/form.json"
  }
}

Server harus menampilkan representasi JSON formulir yang cocok dengan LookML:

[
  {
    "name": "title",
    "type": "select",
    "label": "desired label name",
    "description": "description text",
    "required": true,
    "default": "value string",
    "options": [
      {
        "name": "name string"
        "label": "desired label name"
      },
      {
        "name": "name string"
        "label": "desired label name"
      }
    ]
  },
  {
    "name": "title",
    "type": "textarea",
    "label": "desired label name",
    "description": "description text",
    "required": true,
    "default": "value string",
  }
]

Jika Anda menggunakan parameter form_param, opsi akan digunakan sebagai parameter LookML. Contoh:

form_param: {
  name: "title"
  type: select
  label: "desired label name"
  option: {
    name: "name string"
    label: "desired label name"
  }
  required: yes
  description: "description text"
  default: "value string"
}

Pertimbangkan untuk menggunakan Looker Action Hub

Parameter action adalah pilihan yang tepat jika Anda belum memiliki server yang disiapkan untuk menerima permintaan tindakan atau jika Anda ingin menerapkan kasus penggunaan yang memiliki kemampuan penggunaan kembali yang terbatas. Namun, sebagai alternatif, Anda dapat mempertimbangkan untuk menggunakan tindakan tingkat kolom yang tersedia dari Hub Tindakan Looker. (Pastikan instance Anda memenuhi persyaratan Hub Tindakan Looker ini.)

Selain integrasi Hub Tindakan Looker yang ada, Anda juga dapat membuat tindakan kustom sendiri dengan mengikuti petunjuk di halaman dokumentasi Hub tindakan.