Usage
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 |
סוגי שדות אפשריים
מאפיין, מדד
ערך ברירת המחדל
ללא
אישור
פרמטרים שונים
כללים מיוחדים
|
הגדרה
הפרמטר action יוצר פעולת נתונים שמאפשרת למשתמשים לבצע משימות ברמת השדה בכלי אחר, ישירות מ-Looker. לדוגמה, הפעולה יכולה לגרום לשליחת אימייל, להגדיר ערכים באפליקציות אחרות או לבצע כל פעולה אחרת שאפשר להגדיר ששרת מקבל יעשה. השרת המקבל צריך להיות מסוגל לקבל בקשת POST בפורמט JSON.
אפשר להגדיר action למאפיין או למדד. כדי לגשת לפעולה, בוחרים את השדה שלה כשנמצאים בדף של כלי המחקר, בדף של Look או במרכז בקרה.

כשמגדירים action, מציינים את ההתנהגות הרצויה באמצעות הפרמטרים הבאים:
| פרמטר | תיאור |
|---|---|
label |
מחרוזת שמציינת את שם הפעולה כפי שהוא יופיע למשתמשים בתפריט הפעולות. |
url |
מחרוזת שמציינת את כתובת ה-URL לעיבוד הפעולה. אם צוינה רשימת היתרים של כתובות URL לפעולות על נתונים, צריך להוסיף את הערך url לרשימת ההיתרים. רק כתובות URL שתואמות לתבנית ברשימת ההיתרים מורשות לכל פעולת נתונים. אם אין רשומות קיימות, כל כתובות ה-URL מורשות לפעולות על נתונים. |
icon_url |
מחרוזת שמציינת כתובת URL שמכילה קובץ תמונה, כדי שהמשתמשים יוכלו להבין במבט חטוף לאן הקישור הזה יפנה אותם. הערך icon_url צריך להיות נגיש לדפדפן של המשתמש. |
form_url |
מחרוזת שמציינת כתובת URL שתחזיר טופס שיוצג למשתמשים. הטופס צריך להיות בפורמט JSON, כפי שמתואר בקטע הגדרת התנהגות הטופס באמצעות form_url או form_param בדף הזה. צריך להיות לשרת Looker גישה אל form_url, והוא צריך להשתמש ב-HTTPS עם אישור תקף. |
param |
מעבירה ערך לשרת המקבל. |
form_param |
מוסיפים קלט לטופס שיוצג לפעולה הזו. |
user_attribute_param |
מעבירה מאפיין משתמש לשרת המקבל. אם אתם משתמשים ב-user_attribute_param לפעולת הנתונים, אתם צריכים להוסיף את הערך url של פעולת הנתונים אל רשימת ההיתרים של כתובות URL לפעולות נתונים. |
בדומה לפעולת נתונים, אפשר גם להשתמש בפעולה ברמת השדה שזמינה ממרכז הפעולות של Looker כדי לשלוח נתונים מתא ספציפי. מידע נוסף על האפשרות הזו מופיע בקטע כדאי להשתמש ב-Action Hub של Looker בדף הזה.
העברת מאפייני משתמש לשרת המקבל באמצעות user_attribute_param
אפשר לשלוח מאפייני משתמש לשרת המקבל באמצעות הפרמטר user_attribute_param. בכל user_attribute_param מציינים את הפרמטרים הבאים:
| פרמטר | סוג | תיאור |
|---|---|---|
user_attribute |
מזהה Looker | השם של מאפיין המשתמש ב-Looker |
name |
String | השם של המאפיין שרוצים שיופיע במטען הייעודי (payload) של JSON |
העברת ערכים לשרת המקבל באמצעות param
אפשר לשלוח נתונים שרירותיים במטען הייעודי (payload) של JSON באמצעות הפרמטר param. בכל param מציינים את הפרמטרים הבאים:
| פרמטר | סוג | תיאור |
|---|---|---|
name |
String | שם של פרמטר להעברה לשרת המקבל |
value |
String | הערך של פרמטר שמועבר לשרת המקבל |
אסור להעביר נתונים רגישים או מידע פרטי, כמו פרטי כניסה של משתמשים, בפרמטר
param. במקום זאת, צריך להגדיר את פרטי הכניסה של המשתמש כמאפיין משתמש בהגדרות האדמין, ולהעביר את המידע הזה בפרמטרuser_attribute_param.
ציון התנהגות הטופס באמצעות form_url או form_param
אתם יכולים ליצור טופס שמשתמשי Looker יכולים ליצור איתו אינטראקציה, ואז לשלוח את הקלט מהטופס במטען הייעודי (payload) של JSON. אם מציגים טופס, הוא יופיע כשכבת-על בדף (בכרטיסייה 'חיפוש', 'הצגה' או במרכז הבקרה) שבו הופעלה הפעולה. אפשר לעשות את זה באמצעות הפרמטר form_url או הפרמטר form_param.
אם רוצים שהשרת של מרכז הפעולות יגדיר את פריסת הטופס, משתמשים בפרמטר form_url. השדה form_url צריך להכיל כתובת URL שמחזירה ייצוג JSON של הטופס, כפי שמתואר בהמשך הדף הזה.
אם רוצים להגדיר את פריסת הטופס ישירות ב-LookML, משתמשים בפרמטר form_param.
אפשרויות הטופס
בשני המקרים, האפשרויות שבהן אפשר להשתמש כדי להגדיר את הטופס הן:
| אפשרות | סוג | תיאור |
|---|---|---|
name |
String | השם של הערך כפי שהוא יופיע במטען הייעודי (payload) של JSON |
type |
סוג קלט | סוג שדה הטופס שיוצג למשתמש:
|
label |
String | התווית של קלט כמו שהיא תופיע למשתמשים |
description |
String | תיאור של השדה שיוצג למשתמשים |
required |
בוליאני | ההגדרה קובעת אם המשתמש צריך לספק את האפשרות של הטופס לפני שליחת הטופס |
default |
String | הערך ההתחלתי של שדה הטופס, אם יש כזה |
option |
String | אם בוחרים באפשרות type מתוך select, מגדירים כאן את אפשרויות הבחירה |
אם מגדירים את type לערך select, צריך לציין פריטים ברשימה הנפתחת באמצעות option. כל option כולל את הפרטים הבאים:
| אפשרות | סוג | תיאור |
|---|---|---|
name |
String | השם של ערך הטופס כפי שהוא יופיע במטען הייעודי (payload) של JSON |
label |
String | התווית של האפשרות כפי שהיא תוצג למשתמשים (אופציונלי) |
שימוש בפעולת נתונים ללא טופס
אם לא כוללים פרמטר form_url או form_param בהגדרה של action, פעולת הנתונים לא תכלול טופס. במקרה כזה, הפעולה שולחת בקשה כשמשתמש בוחר בפעולה הזו מתוך התפריט פעולות.
אחרי שבוחרים פעולה בלי טופס, בתפריט פעולות מוצגים סמלים מימין לפעולה כדי לציין את המצב שלה:
- יופיע סמל טעינה שמראה שהפעולה מתבצעת.

- יופיע סימן וי, שמציין שהפעולה בוצעה.

- מופיע עיגול עם האות i, שמציין שהפעולה נכשלה.

אם לא מופיע סמל מימין לפעולה, הפעולה לא הופעלה.
תגובות השרת
תגובת HTTP מוצלחת תיחשב כפעולה מוצלחת.
השרת יכול גם להעביר כמה אפשרויות בחזרה ל-Looker לגבי הצלחת הפעולה. אם בקשת ה-webhook מגיבה עם JSON, Looker מחפש מפתח looker מיוחד בתגובה. המערכת מתעלמת מכל דבר אחר. לדוגמה, בביטוי:
{
"my_apps_business_logic": "something",
"looker": {
"success": true,
"refresh_query": true
}
}
כאן, ערך ברירת המחדל של success הוא true, והגדרת success ל-false תציין ב-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"
}
}
השרת צריך להחזיר ייצוג JSON של טופס שתואם ל-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",
}
]
אם משתמשים בפרמטר 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, אפשר גם ליצור פעולה מותאמת אישית משלכם באמצעות ההוראות שבדף התיעוד של מרכז הפעולות.