การผสานรวมกับ Google BigQuery
การผสานรวมกับ Google BigQuery จะสตรีมเหตุการณ์ข้อความ Pushwoosh ที่เลือกไปยังชุดข้อมูล BigQuery ของคุณ ใช้เพื่อวิเคราะห์เหตุการณ์วงจรชีวิตของ push, อีเมล และ SMS ใน BigQuery, สร้างรายงานที่กำหนดเอง หรือเชื่อมต่อข้อมูลกับเวิร์กโฟลว์การวิเคราะห์ดาวน์สตรีมของคุณ
ภาพรวมการผสานรวม
Anchor link toข้อกำหนดเบื้องต้น
Anchor link toเตรียมสิ่งต่อไปนี้ก่อนที่คุณจะเปิดการตั้งค่าการผสานรวม
-
ใช้โปรเจกต์ Google Cloud ที่เปิดใช้งานการเรียกเก็บเงินแล้ว รองรับเครดิต Free Trial แต่ BigQuery Sandbox ไม่เพียงพอเนื่องจาก Storage Write API ต้องการการเรียกเก็บเงิน
-
ตรวจสอบให้แน่ใจว่าคุณมีบัญชี Pushwoosh แบบชำระเงิน
ราคา
Anchor link toคุณชำระค่าใช้งาน BigQuery โดยตรงกับ Google ทาง Pushwoosh ไม่คิดค่าบริการสำหรับการผสานรวม
สำหรับอัตราปัจจุบัน, ระดับการใช้งานฟรี และรายละเอียดระดับภูมิภาค โปรดดูที่ ราคา BigQuery
ค่าใช้จ่ายอาจรวมถึง:
- การนำเข้าข้อมูล: Pushwoosh สตรีมเหตุการณ์ด้วย BigQuery Storage Write API
- พื้นที่จัดเก็บ: BigQuery จัดเก็บแถวที่เขียนไปยังตารางปลายทางของคุณ
- การสืบค้นข้อมูล (Queries): BigQuery คิดค่าบริการสำหรับการสืบค้นข้อมูลตามรูปแบบราคาที่คุณเลือก
ประเภทการผสานรวม
Anchor link toแหล่งที่มา: ข้อมูลถูกส่งจาก Pushwoosh ไปยังชุดข้อมูล BigQuery ของคุณ
แพลตฟอร์มที่รองรับ
Anchor link toPushwoosh สตรีมเหตุการณ์จากแพลตฟอร์ม 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

เปิดใช้งาน API ที่จำเป็น
Anchor link toใน Google Cloud Console ไปที่ APIs & Services → Library และเปิดใช้งาน API เหล่านี้:
- BigQuery API
- BigQuery Storage API

Pushwoosh ใช้ API เหล่านี้เพื่อสร้างตารางปลายทางและสตรีมเหตุการณ์ไปยัง BigQuery
สร้าง Service Account
Anchor link toPushwoosh ใช้ Service Account เพื่อเขียนเหตุการณ์ไปยังชุดข้อมูล BigQuery ของคุณ
-
ไปที่ IAM & Admin → Service Accounts
-
คลิก Create service account
-
ใน Service account name ป้อนชื่อ เช่น
pushwoosh-bigqueryGoogle Cloud จะสร้าง Service account ID จากชื่อโดยอัตโนมัติ

-
คลิก Create and continue
ให้สิทธิ์บทบาท IAM
Anchor link to-
ให้สิทธิ์บทบาท IAM เหล่านี้แก่ Service Account:
- BigQuery Data Editor: อนุญาตให้ Pushwoosh สร้างตารางและเพิ่มแถว
- BigQuery User: อนุญาตให้ Pushwoosh ใช้ Storage Write API

-
คลิก Continue
-
คลิก Done
สร้างคีย์ JSON
Anchor link toPushwoosh ใช้คีย์ JSON เพื่อรับรองความถูกต้องในฐานะ Service Account
-
เปิด Service Account ที่คุณสร้างขึ้น
-
ไปที่ Keys → Add key → Create new key

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

สร้างชุดข้อมูล (Dataset)
Anchor link toชุดข้อมูลคือที่ที่ Pushwoosh จัดเก็บตารางเหตุการณ์ที่สตรีมมา
-
ใน Google Cloud Console เปิด BigQuery
-
ใน Explorer เลือกโปรเจกต์ที่คุณเตรียมไว้สำหรับการผสานรวม
-
คลิก Create dataset

-
ใน Dataset ID ป้อน ID ชุดข้อมูล เช่น
pushwoosh_data -
ใน Data location เลือกภูมิภาคของชุดข้อมูล

- คลิก Create dataset
กำหนดค่าการผสานรวมใน Pushwoosh
Anchor link to-
ในบัญชี Pushwoosh ของคุณ ไปที่ Settings → 3rd Party Integrations สำหรับแอปพลิเคชันที่คุณต้องการเชื่อมต่อ
-
ค้นหา Google BigQuery ในรายการบริการที่มีอยู่และคลิก Configure

- กรอกข้อมูลในฟิลด์การกำหนดค่า
- 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_eventsPushwoosh จะสร้างตารางด้วยสกีมาที่อธิบายไว้ด้านล่าง - Events: เลือกเหตุการณ์ที่คุณต้องการสตรีม คุณสามารถเปลี่ยนแปลงรายการนี้ได้ในภายหลัง
- Stream events to BigQuery: เปิดใช้งานสวิตช์นี้ ปิดเพื่อหยุดการสตรีมชั่วคราวโดยไม่ลบการกำหนดค่า
- คลิก Test connection
Pushwoosh จะตรวจสอบความถูกต้องของข้อมูลประจำตัวกับ BigQuery โดยไม่เขียนข้อมูล
คุณอาจเห็นสถานะการเชื่อมต่ออย่างใดอย่างหนึ่งต่อไปนี้:
- Connection successful: ข้อมูลประจำตัวใช้งานได้และ Service Account สามารถเข้าถึงชุดข้อมูลได้
auth_failed: คีย์ JSON ไม่ถูกต้องหรือถูกเพิกถอนdataset_not_found: ID ชุดข้อมูลไม่ถูกต้องหรือ Service Account ไม่สามารถเข้าถึงได้missing_permission: Service Account ขาดบทบาทที่จำเป็นอย่างใดอย่างหนึ่ง
- คลิก Apply
Pushwoosh จะบันทึกการกำหนดค่าและเริ่มใช้งานภายในเวลาประมาณ 30 วินาที หลังจากนั้น เหตุการณ์ที่เลือกจะเริ่มสตรีมไปยัง BigQuery
ตรวจสอบการผสานรวม
Anchor link to-
ส่ง push ทดสอบ หรือกระตุ้นข้อความอื่นที่สร้างเหตุการณ์ประเภทใดประเภทหนึ่งที่คุณเลือก
-
รอประมาณ 30 วินาที
-
เปิด BigQuery Studio
-
ไปที่โปรเจกต์ของคุณ จากนั้นเปิดชุดข้อมูลและตารางปลายทางที่คุณกำหนดค่าไว้ หากคุณเว้นว่าง Table name ไว้ ให้เปิด
pushwoosh_events -
คลิก Preview
คุณควรจะเห็นแถวเหตุการณ์ในตาราง

สกีมาของตาราง
Anchor link toPushwoosh เขียนแต่ละเหตุการณ์ที่เลือกเป็นแถวแยกต่างหากในตารางปลายทาง เพื่อให้การสืบค้นข้อมูลเร็วขึ้นและง่ายต่อการกรอง ตารางจะถูกแบ่งพาร์ติชันตามวันโดยใช้ timestamp และจัดกลุ่มตาม app_id และ event_kind
| Field name | Type | Description |
|---|---|---|
event_kind | STRING | ประเภทเหตุการณ์ของ Pushwoosh เช่น Push Sent หรือ Email Opened |
message_id | STRING | รหัสข้อความ Pushwoosh เช่น ตัวระบุแคมเปญหรือข้อความ |
device_id | STRING | Hardware ID ของ Pushwoosh ของอุปกรณ์ที่สร้างเหตุการณ์ |
user_id | STRING | User ID ภายนอกของคุณหากทราบ จะเว้นว่างไว้สำหรับอุปกรณ์ที่ไม่ระบุชื่อ |
timestamp | TIMESTAMP | เวลาที่เกิดเหตุการณ์ในรูปแบบ UTC |
app_id | STRING | รหัสแอปพลิเคชัน Pushwoosh |
platform | STRING | แพลตฟอร์มต้นทาง เช่น ios, android หรือ web |
properties | JSON | ฟิลด์เหตุการณ์เพิ่มเติม ใช้ 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 eventsFROM `your-project.your_dataset.pushwoosh_events`WHERE event_kind = 'Push Opened' AND timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)GROUP BY 1, 2ORDER BY events DESCหากต้องการตรวจสอบจำนวนเหตุการณ์ในชั่วโมงที่ผ่านมา ให้รันการสืบค้นนี้:
SELECT event_kind, COUNT(*) AS eventsFROM `your-project.your_dataset.pushwoosh_events`WHERE timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)GROUP BY event_kindORDER BY events DESCอัปเดตการผสานรวม
Anchor link toหมุนเวียนคีย์ Service Account
Anchor link to-
ใน Google Cloud Console ไปที่ IAM & Admin → Service Accounts
-
เปิด Service Account ของคุณ
-
ไปที่ Keys และสร้างคีย์ JSON ใหม่
-
ให้คีย์เก่ายังคงใช้งานได้จนกว่าคุณจะยืนยันว่าคีย์ใหม่ทำงานได้
-
ใน Pushwoosh เปิดโมดอลการกำหนดค่า Google BigQuery
-
วาง JSON ใหม่ลงใน Service Account JSON
-
คลิก Apply
Pushwoosh จะตรวจสอบความถูกต้องของคีย์ใหม่ แทนที่ข้อมูลประจำตัวที่เก็บไว้ และเริ่มใช้งานหลังจากการโหลดการกำหนดค่าครั้งถัดไป ซึ่งใช้เวลาประมาณ 30 วินาที
หลังจากที่คุณยืนยันว่าเหตุการณ์ยังคงไหลเข้าอยู่ ให้ลบคีย์เก่าใน Google Cloud Console
เปลี่ยนชุดข้อมูลหรือตารางปลายทาง
Anchor link to-
ใน Pushwoosh ไปที่ Settings → 3rd Party Integrations
-
เปิดการตั้งค่า Google BigQuery
-
เลือกชุดข้อมูลอื่นหรือป้อนชื่อตารางใหม่
-
คลิก Apply
Pushwoosh จะเปิดสตรีมใหม่ด้วยปลายทางใหม่ภายในเวลาประมาณ 30 วินาที แถวที่เขียนไปแล้วจะยังคงอยู่ในตารางเก่า Pushwoosh จะไม่เติมข้อมูลย้อนหลัง
หากต้องการให้คีย์ Service Account ที่เก็บไว้ไม่เปลี่ยนแปลงเมื่อคุณอัปเดตการตั้งค่าอื่นๆ ให้เว้นว่าง Service Account JSON ไว้ก่อนคลิก Apply
การแก้ไขปัญหา
Anchor link to| Issue | What to check |
|---|---|
Test connection fails with auth_failed | Service Account JSON มีรูปแบบไม่ถูกต้องหรือคีย์ถูกเพิกถอนใน Google Cloud สร้างคีย์ใหม่และวางไฟล์ JSON ทั้งหมดอีกครั้ง ไฟล์จะขึ้นต้นด้วย { ลงท้ายด้วย } และมีบล็อก private_key |
Test connection fails with dataset_not_found | Dataset ID สะกดผิดหรือไม่มีอยู่ในโปรเจกต์ที่คุณระบุ Dataset ID คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เลือกชุดข้อมูลจากเมนูแบบเลื่อนลงเพื่อหลีกเลี่ยงการพิมพ์ผิด |
Test connection fails with missing_permission | Service 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 มีเหตุการณ์วงจรชีวิตของตัวเอง