ข้ามไปยังเนื้อหา

การผสานรวมกับ Google BigQuery

การผสานรวมกับ Google BigQuery จะสตรีมเหตุการณ์ข้อความ Pushwoosh ที่เลือกไปยังชุดข้อมูล BigQuery ของคุณ ใช้เพื่อวิเคราะห์เหตุการณ์วงจรชีวิตของ push, อีเมล และ SMS ใน BigQuery, สร้างรายงานที่กำหนดเอง หรือเชื่อมต่อข้อมูลกับเวิร์กโฟลว์การวิเคราะห์ดาวน์สตรีมของคุณ

ภาพรวมการผสานรวม

Anchor link to

ข้อกำหนดเบื้องต้น

Anchor link to

เตรียมสิ่งต่อไปนี้ก่อนที่คุณจะเปิดการตั้งค่าการผสานรวม

  1. ใช้โปรเจกต์ Google Cloud ที่เปิดใช้งานการเรียกเก็บเงินแล้ว รองรับเครดิต Free Trial แต่ BigQuery Sandbox ไม่เพียงพอเนื่องจาก Storage Write API ต้องการการเรียกเก็บเงิน

  2. ตรวจสอบให้แน่ใจว่าคุณมีบัญชี Pushwoosh แบบชำระเงิน

ราคา

Anchor link to

คุณชำระค่าใช้งาน BigQuery โดยตรงกับ Google ทาง Pushwoosh ไม่คิดค่าบริการสำหรับการผสานรวม

สำหรับอัตราปัจจุบัน, ระดับการใช้งานฟรี และรายละเอียดระดับภูมิภาค โปรดดูที่ ราคา BigQuery

ค่าใช้จ่ายอาจรวมถึง:

  • การนำเข้าข้อมูล: Pushwoosh สตรีมเหตุการณ์ด้วย BigQuery Storage Write API
  • พื้นที่จัดเก็บ: BigQuery จัดเก็บแถวที่เขียนไปยังตารางปลายทางของคุณ
  • การสืบค้นข้อมูล (Queries): BigQuery คิดค่าบริการสำหรับการสืบค้นข้อมูลตามรูปแบบราคาที่คุณเลือก

ประเภทการผสานรวม

Anchor link to

แหล่งที่มา: ข้อมูลถูกส่งจาก Pushwoosh ไปยังชุดข้อมูล BigQuery ของคุณ

แพลตฟอร์มที่รองรับ

Anchor link to

Pushwoosh สตรีมเหตุการณ์จากแพลตฟอร์ม iOS, Android, Huawei, Chrome, Safari, Firefox และ Web

เอนทิตีที่ซิงโครไนซ์

Anchor link to

เหตุการณ์วงจรชีวิตของ push, อีเมล และ SMS ที่เลือกจะถูกสตรีมไปยัง BigQuery Pushwoosh จะเขียนหนึ่งแถวต่อหนึ่งเหตุการณ์ที่เลือกไปยังตารางปลายทาง

กรณีการใช้งาน

Anchor link to
  • การวิเคราะห์ข้อความแบบเกือบเรียลไทม์: วิเคราะห์เหตุการณ์วงจรชีวิตของ push, อีเมล และ SMS ใน BigQuery ไม่นานหลังจากที่ถูกประมวลผลใน Pushwoosh
  • การรายงานที่กำหนดเอง: สร้างรายงาน BigQuery สำหรับประเภทเหตุการณ์, แอปพลิเคชัน, แคมเปญ และตัวระบุข้อความที่เลือก
  • เวิร์กโฟลว์ข้อมูลดาวน์สตรีม: เชื่อมต่อข้อมูลเหตุการณ์ Pushwoosh กับเวิร์กโฟลว์การวิเคราะห์, การรายงาน หรือการประมวลผลข้อมูลของคุณ

วิธีการทำงานของการผสานรวม

Anchor link to

หลังจากที่คุณบันทึกการกำหนดค่า Pushwoosh จะเริ่มสตรีมเหตุการณ์ข้อความที่เลือกไปยังตาราง BigQuery ของคุณแบบเกือบเรียลไทม์ สำหรับทุกเหตุการณ์ข้อความที่ไหลผ่าน Pushwoosh ระบบจะตรวจสอบว่าประเภทเหตุการณ์นั้นถูกเลือกในการกำหนดค่าของคุณหรือไม่

หากใช่ Pushwoosh จะเพิ่มแถวใหม่ไปยังตารางปลายทางของคุณ หากตารางยังไม่มีอยู่ Pushwoosh จะสร้างขึ้นโดยอัตโนมัติตามสกีมาที่อธิบายไว้ด้านล่าง โดยทั่วไปเหตุการณ์จะปรากฏใน BigQuery ภายใน 30 วินาทีหลังจากถูกประมวลผลใน Pushwoosh

ตั้งค่าการผสานรวมใน Google Cloud

Anchor link to

เลือกโปรเจกต์ Google Cloud

Anchor link to

ลงชื่อเข้าใช้ Google Cloud Console จากนั้นเลือกหรือสร้างโปรเจกต์ที่จะเป็นเจ้าของชุดข้อมูล BigQuery

ตัวเลือกโปรเจกต์ของ Google Cloud Console แสดงโปรเจกต์ที่เลือกและ ID โปรเจกต์สำหรับการตั้งค่า BigQuery

เปิดใช้งาน API ที่จำเป็น

Anchor link to

ใน Google Cloud Console ไปที่ APIs & ServicesLibrary และเปิดใช้งาน API เหล่านี้:

  • BigQuery API
  • BigQuery Storage API
ไลบรารี API ของ Google Cloud แสดง BigQuery API และ BigQuery Storage API ที่เปิดใช้งานสำหรับโปรเจกต์

Pushwoosh ใช้ API เหล่านี้เพื่อสร้างตารางปลายทางและสตรีมเหตุการณ์ไปยัง BigQuery

สร้าง Service Account

Anchor link to

Pushwoosh ใช้ Service Account เพื่อเขียนเหตุการณ์ไปยังชุดข้อมูล BigQuery ของคุณ

  1. ไปที่ IAM & AdminService Accounts

  2. คลิก Create service account

  3. ใน Service account name ป้อนชื่อ เช่น pushwoosh-bigquery

    Google Cloud จะสร้าง Service account ID จากชื่อโดยอัตโนมัติ

    หน้าจอสร้าง Service Account ของ Google Cloud พร้อมชื่อ Service Account และ ID ของ Service Account ที่สร้างขึ้น
  4. คลิก Create and continue

ให้สิทธิ์บทบาท IAM

Anchor link to
  1. ให้สิทธิ์บทบาท IAM เหล่านี้แก่ Service Account:

    • BigQuery Data Editor: อนุญาตให้ Pushwoosh สร้างตารางและเพิ่มแถว
    • BigQuery User: อนุญาตให้ Pushwoosh ใช้ Storage Write API
    หน้าจอการเลือกบทบาท IAM ของ Google Cloud แสดงบทบาท BigQuery Data Editor และ BigQuery User
  1. คลิก Continue

  2. คลิก Done

สร้างคีย์ JSON

Anchor link to

Pushwoosh ใช้คีย์ JSON เพื่อรับรองความถูกต้องในฐานะ Service Account

  1. เปิด Service Account ที่คุณสร้างขึ้น

  2. ไปที่ KeysAdd keyCreate new key

แท็บ Keys ของ Service Account ใน Google Cloud พร้อมตัวเลือกเมนู Add key และ Create new key
  1. เลือก JSON

Google Cloud จะดาวน์โหลดไฟล์คีย์ JSON ไปยังคอมพิวเตอร์ของคุณ

กล่องโต้ตอบสร้างคีย์ส่วนตัวของ Google Cloud พร้อมประเภทคีย์ JSON ที่เลือกสำหรับ Service Account

สร้างชุดข้อมูล (Dataset)

Anchor link to

ชุดข้อมูลคือที่ที่ Pushwoosh จัดเก็บตารางเหตุการณ์ที่สตรีมมา

  1. ใน Google Cloud Console เปิด BigQuery

  2. ใน Explorer เลือกโปรเจกต์ที่คุณเตรียมไว้สำหรับการผสานรวม

  3. คลิก Create dataset

หน้า BigQuery ใน Google Cloud Console พร้อมการดำเนินการสร้างชุดข้อมูลเพื่อเลือกตำแหน่งชุดข้อมูล
  1. ใน Dataset ID ป้อน ID ชุดข้อมูล เช่น pushwoosh_data

  2. ใน Data location เลือกภูมิภาคของชุดข้อมูล

ฟอร์มสร้างชุดข้อมูลใน BigQuery แสดงฟิลด์ ID ชุดข้อมูลและตำแหน่งสำหรับภูมิภาคของชุดข้อมูล
  1. คลิก Create dataset

กำหนดค่าการผสานรวมใน Pushwoosh

Anchor link to
  1. ในบัญชี Pushwoosh ของคุณ ไปที่ Settings3rd Party Integrations สำหรับแอปพลิเคชันที่คุณต้องการเชื่อมต่อ

  2. ค้นหา Google BigQuery ในรายการบริการที่มีอยู่และคลิก Configure

หน้า 3rd Party Integrations พร้อมการ์ด Google BigQuery ที่พร้อมสำหรับการกำหนดค่า
  1. กรอกข้อมูลในฟิลด์การกำหนดค่า
  • GCP Project ID: ป้อน Project ID จาก Google Cloud เช่น my-company-12345
  • Service Account JSON: วางเนื้อหาทั้งหมดของไฟล์คีย์ JSON ที่คุณดาวน์โหลดจาก Google Cloud
  • Dataset ID: เมื่อกรอก GCP Project ID และ Service Account JSON แล้ว Pushwoosh จะดึงชุดข้อมูลที่ Service Account ของคุณสามารถเข้าถึงได้ เลือกชุดข้อมูลปลายทาง หากเมนูแบบเลื่อนลงว่างเปล่า ให้ตรวจสอบว่า Service Account มีสิทธิ์เข้าถึงและชุดข้อมูลนั้นมีอยู่ในโปรเจกต์ที่คุณระบุ
  • Dataset region: เลือกภูมิภาคของชุดข้อมูล BigQuery ของคุณ
  • Table name: เว้นว่างไว้เพื่อใช้ตารางเริ่มต้น pushwoosh_events Pushwoosh จะสร้างตารางด้วยสกีมาที่อธิบายไว้ด้านล่าง
  • Events: เลือกเหตุการณ์ที่คุณต้องการสตรีม คุณสามารถเปลี่ยนแปลงรายการนี้ได้ในภายหลัง
  • Stream events to BigQuery: เปิดใช้งานสวิตช์นี้ ปิดเพื่อหยุดการสตรีมชั่วคราวโดยไม่ลบการกำหนดค่า
  1. คลิก Test connection

Pushwoosh จะตรวจสอบความถูกต้องของข้อมูลประจำตัวกับ BigQuery โดยไม่เขียนข้อมูล

คุณอาจเห็นสถานะการเชื่อมต่ออย่างใดอย่างหนึ่งต่อไปนี้:

  • Connection successful: ข้อมูลประจำตัวใช้งานได้และ Service Account สามารถเข้าถึงชุดข้อมูลได้
  • auth_failed: คีย์ JSON ไม่ถูกต้องหรือถูกเพิกถอน
  • dataset_not_found: ID ชุดข้อมูลไม่ถูกต้องหรือ Service Account ไม่สามารถเข้าถึงได้
  • missing_permission: Service Account ขาดบทบาทที่จำเป็นอย่างใดอย่างหนึ่ง
  1. คลิก Apply

Pushwoosh จะบันทึกการกำหนดค่าและเริ่มใช้งานภายในเวลาประมาณ 30 วินาที หลังจากนั้น เหตุการณ์ที่เลือกจะเริ่มสตรีมไปยัง BigQuery

ตรวจสอบการผสานรวม

Anchor link to
  1. ส่ง push ทดสอบ หรือกระตุ้นข้อความอื่นที่สร้างเหตุการณ์ประเภทใดประเภทหนึ่งที่คุณเลือก

  2. รอประมาณ 30 วินาที

  3. เปิด BigQuery Studio

  4. ไปที่โปรเจกต์ของคุณ จากนั้นเปิดชุดข้อมูลและตารางปลายทางที่คุณกำหนดค่าไว้ หากคุณเว้นว่าง Table name ไว้ ให้เปิด pushwoosh_events

  5. คลิก Preview

คุณควรจะเห็นแถวเหตุการณ์ในตาราง

ตัวอย่างตาราง BigQuery Studio แสดงแถวเหตุการณ์ Pushwoosh ในตาราง pushwoosh_events

สกีมาของตาราง

Anchor link to

Pushwoosh เขียนแต่ละเหตุการณ์ที่เลือกเป็นแถวแยกต่างหากในตารางปลายทาง เพื่อให้การสืบค้นข้อมูลเร็วขึ้นและง่ายต่อการกรอง ตารางจะถูกแบ่งพาร์ติชันตามวันโดยใช้ timestamp และจัดกลุ่มตาม app_id และ event_kind

Field nameTypeDescription
event_kindSTRINGประเภทเหตุการณ์ของ Pushwoosh เช่น Push Sent หรือ Email Opened
message_idSTRINGรหัสข้อความ Pushwoosh เช่น ตัวระบุแคมเปญหรือข้อความ
device_idSTRINGHardware ID ของ Pushwoosh ของอุปกรณ์ที่สร้างเหตุการณ์
user_idSTRINGUser ID ภายนอกของคุณหากทราบ จะเว้นว่างไว้สำหรับอุปกรณ์ที่ไม่ระบุชื่อ
timestampTIMESTAMPเวลาที่เกิดเหตุการณ์ในรูปแบบ UTC
app_idSTRINGรหัสแอปพลิเคชัน Pushwoosh
platformSTRINGแพลตฟอร์มต้นทาง เช่น ios, android หรือ web
propertiesJSONฟิลด์เหตุการณ์เพิ่มเติม ใช้ JSON_VALUE เพื่อสืบค้นฟิลด์ดังที่แสดงด้านล่าง

คุณสมบัติการสืบค้น (Query properties)

Anchor link to

คอลัมน์ properties จัดเก็บฟิลด์เหตุการณ์เพิ่มเติมในรูปแบบ JSON ใช้ JSON_VALUE เพื่อดึงฟิลด์แต่ละรายการในการสืบค้นของคุณ

ตัวอย่างเช่น หากต้องการดูว่าแคมเปญใดทำให้เกิดการเปิดมากที่สุดในช่วง 7 วันที่ผ่านมา ให้คลิก + เพื่อสร้างการสืบค้นใหม่ วาง SQL ด้านล่าง และคลิก Run

SELECT
event_kind,
JSON_VALUE(properties, '$.campaign_id') AS campaign_id,
COUNT(*) AS events
FROM `your-project.your_dataset.pushwoosh_events`
WHERE event_kind = 'Push Opened'
AND timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
GROUP BY 1, 2
ORDER BY events DESC

หากต้องการตรวจสอบจำนวนเหตุการณ์ในชั่วโมงที่ผ่านมา ให้รันการสืบค้นนี้:

SELECT
event_kind,
COUNT(*) AS events
FROM `your-project.your_dataset.pushwoosh_events`
WHERE timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
GROUP BY event_kind
ORDER BY events DESC

อัปเดตการผสานรวม

Anchor link to

หมุนเวียนคีย์ Service Account

Anchor link to
  1. ใน Google Cloud Console ไปที่ IAM & AdminService Accounts

  2. เปิด Service Account ของคุณ

  3. ไปที่ Keys และสร้างคีย์ JSON ใหม่

  4. ให้คีย์เก่ายังคงใช้งานได้จนกว่าคุณจะยืนยันว่าคีย์ใหม่ทำงานได้

  5. ใน Pushwoosh เปิดโมดอลการกำหนดค่า Google BigQuery

  6. วาง JSON ใหม่ลงใน Service Account JSON

  7. คลิก Apply

Pushwoosh จะตรวจสอบความถูกต้องของคีย์ใหม่ แทนที่ข้อมูลประจำตัวที่เก็บไว้ และเริ่มใช้งานหลังจากการโหลดการกำหนดค่าครั้งถัดไป ซึ่งใช้เวลาประมาณ 30 วินาที

หลังจากที่คุณยืนยันว่าเหตุการณ์ยังคงไหลเข้าอยู่ ให้ลบคีย์เก่าใน Google Cloud Console

เปลี่ยนชุดข้อมูลหรือตารางปลายทาง

Anchor link to
  1. ใน Pushwoosh ไปที่ Settings3rd Party Integrations

  2. เปิดการตั้งค่า Google BigQuery

  3. เลือกชุดข้อมูลอื่นหรือป้อนชื่อตารางใหม่

  4. คลิก Apply

Pushwoosh จะเปิดสตรีมใหม่ด้วยปลายทางใหม่ภายในเวลาประมาณ 30 วินาที แถวที่เขียนไปแล้วจะยังคงอยู่ในตารางเก่า Pushwoosh จะไม่เติมข้อมูลย้อนหลัง

หากต้องการให้คีย์ Service Account ที่เก็บไว้ไม่เปลี่ยนแปลงเมื่อคุณอัปเดตการตั้งค่าอื่นๆ ให้เว้นว่าง Service Account JSON ไว้ก่อนคลิก Apply

การแก้ไขปัญหา

Anchor link to
IssueWhat to check
Test connection fails with auth_failedService Account JSON มีรูปแบบไม่ถูกต้องหรือคีย์ถูกเพิกถอนใน Google Cloud สร้างคีย์ใหม่และวางไฟล์ JSON ทั้งหมดอีกครั้ง ไฟล์จะขึ้นต้นด้วย { ลงท้ายด้วย } และมีบล็อก private_key
Test connection fails with dataset_not_foundDataset ID สะกดผิดหรือไม่มีอยู่ในโปรเจกต์ที่คุณระบุ Dataset ID คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เลือกชุดข้อมูลจากเมนูแบบเลื่อนลงเพื่อหลีกเลี่ยงการพิมพ์ผิด
Test connection fails with missing_permissionService Account ขาดบทบาท BigQuery Data Editor หรือ BigQuery User ให้สิทธิ์ทั้งสองบทบาทในระดับโปรเจกต์ หรือให้สิทธิ์ในระดับชุดข้อมูลเพื่อการเข้าถึงที่เข้มงวดกว่า
Test connection passes, but no rows appear in BigQueryรออย่างน้อย 30 วินาที ตรวจสอบว่าประเภทเหตุการณ์ที่คุณกำลังส่งถูกเลือกใน Events ตัวอย่างเช่น หากเลือกเฉพาะ Push Opened และไม่มีใครเปิด push ก็จะไม่มีแถวปรากฏขึ้น
Configuration looks correct, but the modal shows empty fieldsโหลดหน้าเว็บใหม่อีกครั้ง การกำหนดค่าจะถูกดึงข้อมูลทุกครั้งที่เปิดโมดอลและแคชไว้ 30 วินาทีโดยบริการพื้นฐาน หากคุณเพิ่งบันทึกการตั้งค่า ให้รอสักครู่แล้วเปิดโมดอลอีกครั้ง

คำถามที่พบบ่อย

Anchor link to
ฉันสามารถใช้บัญชี Google Cloud ฟรีได้หรือไม่?
Anchor link to

ได้ ตราบใดที่โปรเจกต์เปิดใช้งานการเรียกเก็บเงิน เครดิต Free Trial เพียงพอที่จะใช้งานการผสานรวมนี้ในปริมาณปกติได้ตลอดระยะเวลาทดลองใช้ BigQuery Sandbox ที่ไม่มีการเรียกเก็บเงินจะไม่ทำงานเนื่องจาก Storage Write API ต้องการการเรียกเก็บเงิน

Pushwoosh สามารถเห็นข้อมูล BigQuery ของฉันได้หรือไม่?
Anchor link to

ไม่ได้ ข้อมูลประจำตัวของ Service Account ที่คุณอัปโหลดจะอนุญาตให้ Pushwoosh เขียนไปยังชุดข้อมูลที่คุณเลือกเท่านั้น Pushwoosh จะไม่อ่านข้อมูลจากชุดข้อมูลของคุณและไม่มีสิทธิ์เข้าถึงส่วนที่เหลือของโปรเจกต์ของคุณ

ฉันสามารถส่งออกไปยังชุดข้อมูล BigQuery หลายชุดได้หรือไม่?
Anchor link to

รองรับปลายทางเดียวต่อหนึ่งแอปพลิเคชัน หากคุณต้องการเหตุการณ์เดียวกันในสองชุดข้อมูล ให้ตั้งค่าการสืบค้นตามกำหนดเวลาของ BigQuery ในโปรเจกต์ของคุณเพื่อคัดลอกข้อมูลจาก pushwoosh_events ไปยังตารางอื่น

ฉันสามารถเปลี่ยนสกีมาของตารางได้หรือไม่?
Anchor link to

สกีมาถูกกำหนดไว้ตายตัวสำหรับลูกค้าทุกคน หากคุณต้องการคอลัมน์เพิ่มเติม ให้ดึงข้อมูลจาก properties JSON ในมุมมองของคุณเองหรือการสืบค้นตามกำหนดเวลา

จะเกิดอะไรขึ้นถ้าฉันปิดการใช้งานการผสานรวมชั่วคราว?
Anchor link to

ปิด Stream events to BigQuery และคลิก Apply Pushwoosh จะหยุดเพิ่มเหตุการณ์สำหรับแอปพลิเคชันนี้ภายในเวลาประมาณ 30 วินาที

เหตุการณ์ที่เกิดขึ้นในขณะที่การผสานรวมปิดอยู่จะไม่ถูกบัฟเฟอร์หรือเติมข้อมูลย้อนหลังเมื่อคุณเปิดใช้งานอีกครั้ง Pushwoosh จะเก็บการกำหนดค่าไว้ รวมถึงข้อมูลประจำตัว, ชุดข้อมูล และการเลือกเหตุการณ์

ฉันจะลบการผสานรวมทั้งหมดได้อย่างไร?
Anchor link to

ติดต่อ support@pushwoosh.com เพื่อลบการกำหนดค่าการผสานรวม ชุดข้อมูลและแถวที่เขียนไปยัง BigQuery แล้วจะยังคงอยู่ในบัญชี Google Cloud ของคุณ

มีการรับประกันการจัดส่งหรือไม่?
Anchor link to

การผสานรวมนี้ใช้การจัดส่งแบบ at-least-once (อย่างน้อยหนึ่งครั้ง) ในการทำงานปกติ การซ้ำซ้อนจะเกิดขึ้นได้ยาก การรีสตาร์ทกระบวนการระหว่างการเพิ่มข้อมูลและการ commit อาจทำให้เกิดแถวที่ซ้ำกันจำนวนเล็กน้อย ให้ลบข้อมูลที่ซ้ำกันใน SQL หากไปป์ไลน์ดาวน์สตรีมของคุณต้องการผลลัพธ์แบบ exactly-once (เพียงครั้งเดียวเท่านั้น)

ทำไมไม่มีเหตุการณ์ Push Clicked?
Anchor link to

ปัจจุบัน Pushwoosh แสดง Push Sent, Push Delivered และ Push Opened สำหรับ push notifications ในการผสานรวมนี้ ยังไม่มีขั้นตอนการคลิก push โดยเฉพาะ อีเมลและ SMS มีเหตุการณ์วงจรชีวิตของตัวเอง