アクション

用途

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"
      }
    }
  }
}
階層
action
使用可能なフィールドタイプ
ディメンション、メジャー

デフォルト値
なし

許可
さまざまなパラメータ

特別なルール
  • form_url の URL は Looker サーバーからアクセス可能で、有効な証明書を使用して HTTPS を使用する必要があります。
  • icon_url の URL はユーザーのブラウザからアクセス可能である必要があります。

定義

action パラメータは、ユーザーが Looker から直接他のツールでフィールド レベルのタスクを行えるようにするデータ アクションを作成します。たとえば、メールを送信したり、他のアプリケーションで値を設定したり、受信サーバー上で構成可能なその他のアクションを実行したりできます。受信サーバーが JSON POST を受け入れるようにする必要があります。

ディメンションまたはメジャーに対して action を定義できます。Explore ページ、Look、ダッシュボードでフィールドを選択すると、アクションにアクセスできます。

action を定義するときは、次のパラメータを使用して選択した動作を指定します。

パラメータ 説明
label 操作メニューで表示されるアクション名を指定する文字列です。
url アクションを処理する URL を指定する文字列。**データ アクションに関する URL 許可リスト** が指定されている場合は、この url 値を許可リストに追加する必要があります。許可リストのパターンに一致する URL のみ、データ アクションに使用できます。既存のエントリがない場合、データ アクションにはすべての URL を使用できます。
icon_url 画像ファイルを含む URL を指定する文字列。ユーザーは、このリンクの移動先を一目で把握できます。icon_url の値は、ユーザーのブラウザからアクセス可能である必要があります。
form_url ユーザーに表示するフォームを返す URL を指定する文字列。フォームは、このページの フォームの動作を指定するform_url または form_param で説明されているように、JSON 形式で表示する必要があります。form_url は Looker サーバーからアクセス可能で、有効な証明書を使用して HTTPS を使用する必要があります。
param 受信サーバーに値を渡します。
form_param このアクションに表示されるフォーム入力欄を追加します。
user_attribute_param ユーザー属性を受信サーバーに渡します。データ アクションに user_attribute_param を使用する場合は、データ アクションの url 値を データ アクションに関する URL 許可リスト に追加する必要があります。

データ アクションと同様に、Looker Action Hub で利用可能なフィールド レベルのアクションを使用して、特定のセルからデータを送信することもできます。このオプションの詳細については、このページの Looker Action Hub の使用を検討するをご覧ください。

user_attribute_param を使用してユーザー属性を受信サーバーに渡す

ユーザー属性を、user_attribute_param パラメータを使用すると、受信サーバーに送信できます。各 user_attribute_param 内で、次のサブパラメータを指定します。

パラメータ 説明
user_attribute Looker ID Looker のユーザー属性の名前
name 文字列 JSON ペイロードに表示する属性の名前

param を使用して受信サーバーに値を渡す

param パラメータを使用すると、JSON ペイロードで任意のデータを送信できます。各 param 内で、次のサブパラメータを指定します。

パラメータ 説明
name 文字列 受信サーバーに渡すパラメータの名前
value 文字列 受信サーバーに渡すパラメータの値

param パラメータに、ユーザー認証情報などの機密データや個人情報を渡さないでください。代わりに、管理設定でユーザー認証情報をユーザー属性として構成し、user_attribute_param パラメータでこの情報を渡します。

form_url または form_param を使用してフォームの動作を指定する

Looker ユーザーが操作できるフォームを作成し、JSON ペイロードでフォーム入力を送信できます。フォームを表示すると、アクションがトリガーされたページ(Explore、Look、ダッシュボード)にオーバーレイとして表示されます。これを行うには、form_url パラメータまたは form_param パラメータを使用します。

アクション ハブ サーバーでフォーム レイアウトを定義する場合は、form_url パラメータを使用します。form_url には、このページで後述するように、フォームの JSON 表現を返す URL を含める必要があります。

LookML でフォーム レイアウトを直接定義する場合は、form_param パラメータを使用します。

フォーム オプション

どちらの場合も、フォームの定義に使用できるオプションは次のとおりです。

オプション 説明
name 文字列 JSON ペイロードに表示される値の名前
type 入力タイプ ユーザーに表示されるフォーム フィールドのタイプ:

  • select - プルダウン リストを表示します。
  • string - 1 行の入力フィールドを表示します。
  • textarea - 複数行のテキスト入力ボックスを表示します。
label 文字列 ユーザーに表示される入力のラベル
description 文字列 ユーザーに表示されるフィールドの説明
required ブール値 フォームを送信する前に、フォーム オプションをユーザーが入力する必要があるかどうかを指定します。
default 文字列 フォーム フィールドの開始値(ある場合)
option 文字列 typeselect を選択した場合は、ここで選択オプションを定義します。

typeselect に設定した場合は、option を使用してプルダウン リストの項目を指定します。各 option には次の詳細が含まれます。

オプション 説明
name 文字列 JSON ペイロードに表示されるフォーム値の名前
label 文字列 ユーザーに表示されるオプションのラベル(省略可)

フォームなしでデータ アクションを使用する

action 定義に form_url パラメータまたは form_param パラメータを含めない場合、データ アクションにフォームは含まれません。その場合、ユーザーが [アクション] メニューからそのアクションを選択すると、アクションはリクエストを送信します。

フォームなしのアクションを選択すると、[アクション] メニューにアクションの左側にアイコンが表示され、その状態が示されます。

  • 読み込みアイコンが表示され、アクションが実行中であることを示します。

  • チェックマークが表示され、アクションが実行されたことを示します。

  • 丸で囲まれた i が表示され、アクションが失敗したことを示します。

アクションの左側にアイコンが表示されない場合、アクションはトリガーされていません。

サーバー レスポンス

成功した HTTP レスポンスは、アクションが成功したとみなされます。

サーバーは、アクションの成功に関するいくつかのオプションを Looker に渡すこともできます。Webhook リクエストが JSON で応答する場合、Looker はレスポンスで特別な looker キーを探します。それ以外のものはすべて無視されます。次に例を示します。

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

ここで、success のデフォルトは true です。successfalse に設定すると、リクエストが失敗したことが Looker に示されます。また、refresh_query のデフォルトは false です。true に設定すると、現在の Looker クエリが再実行され、キャッシュはスキップされます。

渡されたフォーム パラメータの検証エラーで応答することもできます。

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

ここで、validation_errors のデフォルトは {} です。これは、キーがフォーム パラメータの名前、値がそのパラメータのエラー メッセージを表す文字列である JSON オブジェクトにする必要があります。

form_url パラメータ(この例では Liquid 構文を使用)を使用する場合は、すべてのオプションを JSON オブジェクトで返す必要があります。次に例を示します。

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

サーバーは、LookML に一致するフォームの JSON 表現を返す必要があります。

[
  {
    "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",
  }
]

form_param パラメータを使用する場合、オプションは LookML パラメータとして使用されます。次に例を示します。

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"
}

Looker Action Hub の使用を検討する

action パラメータは、アクション リクエストを受信するサーバーがまだ設定されていない場合や、再利用性が限られたユースケースを実装する場合に適しています。ただし、代替として、フィールド レベルのアクションの使用を検討することもできます。これは、Looker Action Hub で利用できます。(インスタンスがこれらの Looker Action Hub の要件を満たしていることを確認してください)。

既存の Looker Action Hub 統合に加えて、アクション ハブのドキュメント ページの手順に沿って独自のカスタム アクションを作成することもできます。