การผสานรวมกับ Google BigQuery
การผสานรวมกับ Google BigQuery จะสตรีมเหตุการณ์ข้อความ Pushwoosh ที่เลือกไปยังชุดข้อมูล BigQuery ของคุณ ใช้เพื่อวิเคราะห์เหตุการณ์วงจรชีวิตของ push, email และ 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 จัดเก็บแถวที่เขียนไปยังตารางปลายทางของคุณ
- การสืบค้น: BigQuery คิดค่าบริการสำหรับการสืบค้นตามรูปแบบราคาที่คุณเลือก
ประเภทการผสานรวม
Anchor link toแหล่งที่มา: ข้อมูลถูกส่งจาก Pushwoosh ไปยังชุดข้อมูล BigQuery ของคุณ
แพลตฟอร์มที่รองรับ
Anchor link toPushwoosh สตรีมเหตุการณ์จากแพลตฟอร์ม iOS, Android, Huawei, Chrome, Safari, Firefox และ Web
เอนทิตีที่ซิงโครไนซ์
Anchor link toเหตุการณ์วงจรชีวิตของ push, email และ SMS ที่เลือกจะถูกสตรีมไปยัง BigQuery ทาง Pushwoosh จะเขียนหนึ่งแถวต่อหนึ่งเหตุการณ์ที่เลือกไปยังตารางปลายทาง
กรณีการใช้งาน
Anchor link to- การวิเคราะห์ข้อความแบบเกือบเรียลไทม์: วิเคราะห์เหตุการณ์วงจรชีวิตของ push, email และ 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 ไปยังคอมพิวเตอร์ของคุณ

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

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

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

- กรอกข้อมูลในฟิลด์การกำหนดค่า
- GCP 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: รหัสชุดข้อมูลไม่ถูกต้องหรือ 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 | รหัสฮาร์ดแวร์ (HWID) ของ Pushwoosh ของอุปกรณ์ที่สร้างเหตุการณ์ |
user_id | STRING | รหัสผู้ใช้ภายนอกของคุณหากทราบ จะเว้นว่างสำหรับอุปกรณ์ที่ไม่ระบุชื่อ |
timestamp | TIMESTAMP | เวลาของเหตุการณ์ในรูปแบบ UTC |
app_id | STRING | รหัสแอปพลิเคชันของ Pushwoosh |
platform | STRING | แพลตฟอร์มต้นทาง เช่น ios, android หรือ web |
properties | JSON | ฟิลด์เหตุการณ์เพิ่มเติม ใช้ JSON_VALUE เพื่อสืบค้นฟิลด์ดังที่แสดงด้านล่าง |
คุณสมบัติการสืบค้น
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 | JSON ของ Service Account มีรูปแบบไม่ถูกต้องหรือคีย์ถูกเพิกถอนใน 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 (อย่างน้อยหนึ่งครั้ง) ในการทำงานปกติ การซ้ำซ้อนจะเกิดขึ้นได้ยาก การรีสตาร์ทกระบวนการระหว่างการเพิ่มข้อมูลและการคอมมิตอาจทำให้เกิดแถวที่ซ้ำกันจำนวนเล็กน้อย ให้ทำการลบข้อมูลที่ซ้ำกันใน SQL หากไปป์ไลน์ดาวน์สตรีมของคุณต้องการผลลัพธ์แบบ exactly-once (เพียงครั้งเดียวเท่านั้น)
ทำไมไม่มีเหตุการณ์ Push Clicked?
Anchor link toปัจจุบัน Pushwoosh แสดงเหตุการณ์ Push Sent, Push Delivered และ Push Opened สำหรับ push notifications ในการผสานรวมนี้ ยังไม่มีขั้นตอนการคลิก push โดยเฉพาะ ส่วน Email และ SMS จะมีเหตุการณ์วงจรชีวิตของตัวเอง