BigQuery: แทรกแถว
ใช้ BigQuery: insert row เพื่อสตรีมหนึ่งแถวไปยังตาราง BigQuery จากขั้นตอน journey ผ่าน streaming insert API เช่นเดียวกับ Google Sheets: add row จุดนี้จะยืนยันตัวตนผ่านบัญชี Google ที่เชื่อมต่อเพียงครั้งเดียวสำหรับทั้งบัญชี ไม่มีช่อง token ในจุดนี้
การใช้งานทั่วไป:
- ป้อนข้อมูลตารางรายงาน: แทรกแถวต่อขั้นตอน journey ที่ไปถึง สำหรับแดชบอร์ดหรือการสืบค้นตามกำหนดเวลาในลำดับถัดไป
- บันทึกเหตุการณ์ที่เกิดขึ้น: สตรีมข้อมูล journey ดิบไปยัง BigQuery แทนที่จะรอการส่งออกเป็นชุด
- เข้าร่วมกับข้อมูลที่มีอยู่: แทรกค่าอุปกรณ์หรือแท็กที่ตาราง BigQuery ของคุณสามารถเข้าร่วมกับชุดข้อมูลของคุณเองได้
ก่อนที่คุณจะเริ่ม
Anchor link toเชื่อมต่อบัญชี Google ภายใต้ การตั้งค่า > การผสานรวมกับบุคคลที่สาม > Google นี่คือการเชื่อมต่อเดียวกับที่ Google Sheets: add row ใช้ หลังจากที่คุณเชื่อมต่อ Google แล้ว ติดตั้งการผสานรวม เพื่อให้จุดนี้ปรากฏใน journey builder
นี่ไม่ใช่การ์ด Google BigQuery ในหน้านั้น การ์ดนั้นคือ การผสานรวม BigQuery: ซึ่งจะสตรีมทุกเหตุการณ์ข้อความของแอปพลิเคชันไปยังสคีมาที่กำหนดไว้บนคีย์บัญชีบริการ จุดนี้จะเขียนหนึ่งแถวที่คุณกำหนด ในขั้นตอนที่คุณวางไว้ และไม่ใช้คีย์ของตัวเอง

ต้องมีสองสิ่งนี้ในฝั่ง Google Cloud ด้วย มิฉะนั้นคำขอจะล้มเหลว:
- ชุดข้อมูลและตารางต้องมีอยู่แล้ว จุดนี้จะเขียนแถว แต่จะไม่สร้างตาราง
- บัญชี Google ที่เชื่อมต่อต้องมีบทบาท BigQuery Data Editor (หรือบทบาทใดๆ ที่ให้สิทธิ์
bigquery.tables.updateData) ในชุดข้อมูลนั้น
กำหนดค่าจุด
Anchor link to- ลาก BigQuery: insert row จากส่วน การผสานรวม ของแผงด้านซ้ายไปยัง canvas
- ดับเบิลคลิกที่จุดและป้อน ชื่อขั้นตอน
- ใน รหัสโปรเจกต์ ให้ป้อนรหัสโปรเจกต์ Google Cloud ใช้รหัส ไม่ใช่ชื่อที่แสดง ตัวอย่างเช่น
my-analytics-prod

- ใน ชุดข้อมูล ให้ป้อนชื่อชุดข้อมูล

- ใน ตาราง ให้ป้อนชื่อตาราง

- ใน คอลัมน์ ให้เพิ่มหนึ่งแถวต่อคอลัมน์ BigQuery ที่จะเขียน ป้อนชื่อคอลัมน์และค่า ชื่อต้องไม่ว่างเปล่าและไม่ซ้ำกัน ทุกคอลัมน์ที่คุณระบุต้องมีอยู่ในสคีมาของตาราง ค่าอาจเป็นข้อความคงที่หรือ traveler macro เช่น
{{tag:Name}}ซึ่งเป็นมาโครเดียวกับในเนื้อหา Webhook หรือคลิก แทรกค่าไดนามิก เพื่อเลือกแอตทริบิวต์ที่ขั้นตอนก่อนหน้าใน journey นี้สร้างขึ้น เช่น การตอบกลับของ LLM หรือค่า Webhook ที่แมปไว้

- คลิก บันทึก
การตอบสนอง
Anchor link totraveler จะเดินทางต่อไปยังขั้นตอนใดก็ตามที่คุณเชื่อมต่อถัดไปบน canvas
แอตทริบิวต์หลังจากขั้นตอนทำงาน
Anchor link toจุดนี้จะไม่ส่งคืนแอตทริบิวต์เมื่อสำเร็จ หาก BigQuery ปฏิเสธแถว ข้อผิดพลาดจะถูกเขียนไปยัง bigquery_insert_error แทน ดูที่ ความล้มเหลวและการตอบสนองที่ไม่คาดคิด
ความล้มเหลวและการตอบสนองที่ไม่คาดคิด
Anchor link toเปิด บันทึกการเรียก ในหน้าต่างของจุดและตรวจสอบการตอบสนอง:
- 401 — การเชื่อมต่อ Google หายไปหรือหมดอายุ เชื่อมต่อใหม่อีกครั้งภายใต้ การตั้งค่า > การผสานรวมกับบุคคลที่สาม
- 403 พร้อมกับ
accessDenied: Streaming insert is not allowed in the free tier— โปรเจกต์ไม่มีบัญชีสำหรับการเรียกเก็บเงินแนบอยู่ การแทรกแบบสตรีมมิ่งซึ่งเป็นสิ่งที่จุดนี้ใช้ ไม่ได้เป็นส่วนหนึ่งของ BigQuery sandbox เปิดใช้งานการเรียกเก็บเงินในโปรเจกต์แล้วคำขอเดียวกันจะผ่านไปได้ - 403 พร้อมกับ
accessDeniedหรือinsufficientPermissions— การเชื่อมต่อได้รับสิทธิ์ก่อนที่จะมีการเพิ่มการรองรับ BigQuery (ให้เชื่อมต่อใหม่) หรือบัญชี Google ไม่มีสิทธิ์ในการเขียนไปยังชุดข้อมูล - 403 พร้อมกับ
quotaExceededหรือrateLimitExceeded— โควต้าการแทรกแบบสตรีมมิ่งของโปรเจกต์หมดแล้ว ไม่ต้องเชื่อมต่อใหม่ journey ต้องส่งน้อยลง หรือต้องเพิ่มโควต้าใน Google Cloud - 404 — ชื่อโปรเจกต์ ชุดข้อมูล หรือตารางไม่ตรงกับสิ่งใด
คำขอที่ล้มเหลวจะทำให้ traveler ออกจาก journey ดูที่ ข้อผิดพลาดและคำขอที่ล้มเหลว
สถานการณ์ตัวอย่าง: การป้อนข้อมูลตารางรายงาน BigQuery
Anchor link toทีมต้องการให้กิจกรรม journey อยู่ในชุดข้อมูล BigQuery เดียวกันกับที่รายงานตามกำหนดเวลาของพวกเขาสืบค้นอยู่แล้ว
- เพิ่ม BigQuery: insert row ทันทีหลังจากขั้นตอนที่คุณต้องการบันทึก ตั้งค่า ชุดข้อมูล เป็น
marketingและ ตาราง เป็นjourney_eventsใน คอลัมน์ ตั้งค่าdevice_idเป็น{{device:hwid}} - คลิก บันทึก
เมื่อสิ่งนี้ทำงาน แถวจะไปอยู่ในตารางเดียวกับที่การสืบค้นตามกำหนดเวลาอ่านข้อมูล ดังนั้นการทำงานของรายงานครั้งต่อไปจะรวมข้อมูลนี้ไว้ด้วย