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

การผสานรวมกับ 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

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

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

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

  • การนำเข้าข้อมูล: Pushwoosh สตรีมเหตุการณ์ด้วย BigQuery Storage Write API
  • พื้นที่จัดเก็บ: BigQuery จัดเก็บแถวที่เขียนไปยังตารางปลายทางของคุณ
  • การสืบค้น: 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
ไลบรารี Google Cloud APIs แสดง 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

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

Anchor link to

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

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

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

  3. คลิก Create dataset

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

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

ฟอร์มสร้างชุดข้อมูลใน BigQuery แสดงฟิลด์ Dataset 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: ป้อน 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

ชื่อฟิลด์ประเภทคำอธิบาย
event_kindSTRINGประเภทเหตุการณ์ของ Pushwoosh เช่น Push Sent หรือ Email Opened
message_idSTRINGรหัสข้อความของ Pushwoosh เช่น ตัวระบุแคมเปญหรือข้อความ
device_idSTRINGID ฮาร์ดแวร์ของ Pushwoosh ของอุปกรณ์ที่สร้างเหตุการณ์
user_idSTRINGID ผู้ใช้ภายนอกของคุณหากทราบ ว่างเปล่าสำหรับอุปกรณ์ที่ไม่ระบุชื่อ
timestampTIMESTAMPเวลาของเหตุการณ์ใน UTC
app_idSTRINGรหัสแอปพลิเคชันของ Pushwoosh
platformSTRINGแพลตฟอร์มต้นทาง เช่น ios, android หรือ web
propertiesJSONฟิลด์เหตุการณ์เพิ่มเติม ใช้ 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 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
ปัญหาสิ่งที่ต้องตรวจสอบ
Test connection ล้มเหลวด้วย auth_failedJSON ของ Service Account มีรูปแบบไม่ถูกต้องหรือคีย์ถูกเพิกถอนใน Google Cloud สร้างคีย์ใหม่และวางไฟล์ JSON ทั้งหมดอีกครั้ง ไฟล์จะขึ้นต้นด้วย { ลงท้ายด้วย } และมีบล็อก private_key
Test connection ล้มเหลวด้วย dataset_not_foundDataset ID พิมพ์ผิดหรือไม่มีอยู่ในโปรเจกต์ที่คุณระบุ Dataset ID คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เลือกชุดข้อมูลจากเมนูแบบเลื่อนลงเพื่อหลีกเลี่ยงการพิมพ์ผิด
Test connection ล้มเหลวด้วย missing_permissionService 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 มีเหตุการณ์ในวงจรชีวิตของตัวเอง