작업

사용

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에서 직접 다른 도구에서의 필드 수준 작업을 수행할 수 있도록 하는 데이터 작업을 만듭니다. 예를 들어 action은 이메일을 전송하거나, 다른 애플리케이션에서 값을 설정하거나, 수신 서버에 구성해 둔 다른 작업을 수행하도록 할 수 있습니다. 수신 서버는 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 작업 허브에서 사용할 수 있는 필드 수준 작업을 사용하여 특정 셀의 데이터를 전송할 수도 있습니다. 이 옵션에 대한 자세한 내용은 이 페이지의 Looker 작업 허브 사용 고려 섹션을 참고하세요.

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 - 단일 행 입력란을 표시합니다.
  • textarea - 여러 줄 텍스트 입력란을 표시합니다.
label 문자열 사용자에게 표시되는 입력의 라벨입니다.
description 문자열 사용자에게 표시되는 필드 설명
required 불리언 양식을 제출하기 전에 사용자가 양식 옵션을 제공해야 하는지 여부를 지정합니다.
default 문자열 양식 필드의 시작 값(있는 경우)
option 문자열 selecttype를 선택하는 경우 여기에서 선택 옵션을 정의하세요.

typeselect로 설정한 다음 option를 사용하여 드롭다운 목록에서 항목을 지정합니다. 각 option에는 다음 세부정보가 포함됩니다.

옵션 유형 설명
name 문자열 JSON 페이로드에 표시될 양식 값의 이름
label 문자열 사용자에게 표시되는 옵션의 라벨 (선택사항)

양식 없이 데이터 작업 사용

action 정의에 form_url 또는 form_param 파라미터를 포함하지 않으면 데이터 작업에 양식이 포함되지 않습니다. 이 경우 사용자가 작업 메뉴에서 해당 작업을 선택하면 작업에서 요청을 전송합니다.

양식이 없는 작업을 선택하면 작업 메뉴에 작업의 상태를 나타내는 아이콘이 작업 왼쪽에 표시됩니다.

  • 작업이 실행 중임을 나타내는 로드 아이콘이 표시됩니다.

  • 작업이 실행되었음을 나타내는 체크표시가 표시됩니다.

  • 작업이 실패했음을 나타내는 원으로 둘러싸인 i가 표시됩니다.

작업 왼쪽에 아이콘이 표시되지 않으면 작업이 트리거되지 않은 것입니다.

서버 응답

성공적인 HTTP 응답은 성공적인 작업으로 간주됩니다.

서버는 작업의 성공 여부에 관해 몇 가지 옵션을 Looker에 다시 전달할 수도 있습니다. 웹훅 요청이 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 매개변수는 아직 작업 요청을 수신하도록 설정된 서버가 없거나 재사용성이 제한된 사용 사례를 구현하려는 경우에 적합합니다. 하지만 대안으로 Looker 작업 허브에서 사용할 수 있는 필드 수준 작업을 사용하는 것이 좋습니다. (인스턴스가 Looker 작업 허브 요구사항을 충족하는지 확인하세요.)

기존 Looker 작업 허브 통합 외에도 작업 허브 문서 페이지의 안내에 따라 자체 맞춤 작업을 만들 수도 있습니다.