การผสานรวมกับ 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คุณชำระเงินให้ Google โดยตรงสำหรับการใช้งาน BigQuery 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, อีเมล และ 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 ไปยังคอมพิวเตอร์ของคุณ

สร้างชุดข้อมูล
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: ป้อน 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
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
event_kind | STRING | ประเภทเหตุการณ์ของ Pushwoosh เช่น Push Sent หรือ Email Opened |
message_id | STRING | รหัสข้อความของ Pushwoosh เช่น ตัวระบุแคมเปญหรือข้อความ |
device_id | STRING | ID ฮาร์ดแวร์ของ Pushwoosh ของอุปกรณ์ที่สร้างเหตุการณ์ |
user_id | STRING | ID ผู้ใช้ภายนอกของคุณหากทราบ ว่างเปล่าสำหรับอุปกรณ์ที่ไม่ระบุชื่อ |
timestamp | TIMESTAMP | เวลาของเหตุการณ์ใน UTC |
app_id | STRING | รหัสแอปพลิเคชันของ Pushwoosh |
platform | STRING | แพลตฟอร์มต้นทาง เช่น ios, android หรือ web |
properties | JSON | ฟิลด์เหตุการณ์เพิ่มเติม ใช้ JSON_VALUE เพื่อสืบค้นฟิลด์ ดังที่แสดงด้านล่าง |
การสืบค้น 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| ปัญหา | สิ่งที่ต้องตรวจสอบ |
|---|---|
Test connection ล้มเหลวด้วย auth_failed | JSON ของ Service Account มีรูปแบบไม่ถูกต้องหรือคีย์ถูกเพิกถอนใน Google Cloud สร้างคีย์ใหม่และวางไฟล์ JSON ทั้งหมดอีกครั้ง ไฟล์จะขึ้นต้นด้วย { ลงท้ายด้วย } และมีบล็อก private_key |
Test connection ล้มเหลวด้วย dataset_not_found | Dataset ID พิมพ์ผิดหรือไม่มีอยู่ในโปรเจกต์ที่คุณระบุ Dataset ID คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เลือกชุดข้อมูลจากเมนูแบบเลื่อนลงเพื่อหลีกเลี่ยงการพิมพ์ผิด |
Test connection ล้มเหลวด้วย missing_permission | Service Account ขาดบทบาท BigQuery Data Editor หรือ BigQuery User ให้สิทธิ์ทั้งสองบทบาทในระดับโปรเจกต์ หรือให้สิทธิ์ในระดับชุดข้อมูลเพื่อการเข้าถึงที่เข้มงวดมากขึ้น |
| Test connection ผ่าน แต่ไม่มีแถวปรากฏใน BigQuery | รออย่างน้อย 30 วินาที ตรวจสอบว่าประเภทเหตุการณ์ที่คุณกำลังส่งถูกเลือกใน Events ตัวอย่างเช่น หากเลือกเฉพาะ Push Opened และไม่มีใครเปิด push ก็จะไม่มีแถวปรากฏขึ้น |
| การกำหนดค่าดูถูกต้อง แต่โมดอลแสดงฟิลด์ว่าง | โหลดหน้าเว็บใหม่ การกำหนดค่าจะถูกดึงข้อมูลทุกครั้งที่เปิดโมดอลและแคชไว้ 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 scheduled query ในโปรเจกต์ของคุณเพื่อคัดลอกข้อมูลจาก pushwoosh_events ไปยังตารางอื่น
ฉันสามารถเปลี่ยนสคีมาของตารางได้หรือไม่
Anchor link toสคีมาถูกกำหนดไว้ตายตัวสำหรับลูกค้าทุกคน หากคุณต้องการคอลัมน์เพิ่มเติม ให้ดึงข้อมูลจาก JSON ของ properties ใน views หรือ scheduled queries ของคุณเอง
จะเกิดอะไรขึ้นถ้าฉันปิดการใช้งานการผสานรวมชั่วคราว
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 (อย่างน้อยหนึ่งครั้ง) ในการทำงานปกติ การซ้ำซ้อนจะเกิดขึ้นได้ยาก การรีสตาร์ทกระบวนการระหว่างการผนวกและการคอมมิตอาจทำให้เกิดแถวที่ซ้ำกันจำนวนเล็กน้อย ให้ทำการ Deduplicate ใน SQL หากไปป์ไลน์ดาวน์สตรีมของคุณต้องการผลลัพธ์แบบ exactly-once (เพียงครั้งเดียว)
ทำไมจึงไม่มีเหตุการณ์ Push Clicked
Anchor link toปัจจุบัน Pushwoosh เปิดเผยเหตุการณ์ Push Sent, Push Delivered และ Push Opened สำหรับ push notifications ในการผสานรวมนี้ ยังไม่มีขั้นตอนการคลิก push โดยเฉพาะ อีเมลและ SMS มีเหตุการณ์ในวงจรชีวิตของตัวเอง