หากต้องการดึงข้อมูลเอนทิตีและข้อมูลการรายงานของ Google Ads API ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้
ความแตกต่างระดับสูงของทั้ง 2 วิธีมีดังนี้
| GoogleAdsService.SearchStream | GoogleAdsService.Search | |
|---|---|---|
| เหมาะสำหรับโค้ดที่ใช้งานจริง | ใช่ | ใช่ |
| บริการ | GoogleAdsService |
GoogleAdsService |
| สถานการณ์ | การดึงข้อมูลออบเจ็กต์และรายงาน | การดึงข้อมูลออบเจ็กต์และรายงาน |
| คำตอบ | สตรีม ออบเจ็กต์ GoogleAdsRow |
หน้าออบเจ็กต์ GoogleAdsRow |
| ฟิลด์ของคำตอบ | เฉพาะฟิลด์ที่ระบุไว้ในการค้นหา | เฉพาะฟิลด์ที่ระบุไว้ในการค้นหา |
| ขีดจำกัดการใช้งานต่อวัน | ขีดจำกัดการใช้งานต่อวันตามระดับการเข้าถึง | ขีดจำกัดการใช้งานต่อวันตามระดับการเข้าถึง |
SearchStream เทียบกับ Search
แม้ว่า Search จะส่งคำขอแบบแบ่งหน้าหลายรายการเพื่อดาวน์โหลดรายงานทั้งหมดได้
แต่
SearchStream จะส่งคำขอเดียวและ
เริ่มต้นการเชื่อมต่อแบบถาวรกับ Google Ads API ไม่ว่ารายงานจะมีขนาดเท่าใดก็ตาม
สำหรับ SearchStream แพ็กเก็ตข้อมูลจะเริ่มดาวน์โหลดทันทีโดยแคชผลลัพธ์ทั้งหมดไว้ในบัฟเฟอร์ข้อมูล โค้ดของคุณจะเริ่มอ่านข้อมูลที่บัฟเฟอร์ไว้ได้โดยไม่ต้องรอให้สตรีมทั้งหมดเสร็จสมบูรณ์
การขจัดเวลาไปกลับของเครือข่ายที่ต้องใช้ในการขอแต่ละ
หน้าของคำตอบ Search ออกไป SearchStream จึงอาจให้ประสิทธิภาพที่ดีกว่าการแบ่งหน้า โดยเฉพาะอย่างยิ่งสำหรับรายงานขนาดใหญ่ ทั้งนี้ขึ้นอยู่กับแอปของคุณ
ตัวอย่าง
ตัวอย่างนี้จะดูรายงานที่มี 100,000 แถว ตารางต่อไปนี้จะแสดงความแตกต่างด้านการคิดเงินระหว่าง 2 วิธี
| SearchStream | Search | |
|---|---|---|
| ขนาดหน้า | ไม่เกี่ยวข้อง | 10,000 แถวต่อหน้า |
| จำนวนคำขอ API | คำขอ 1 รายการ | คำขอ 10 รายการ |
| จำนวนคำตอบ API | สตรีมต่อเนื่อง 1 รายการ | คำตอบ 10 รายการ |
ปัจจัยด้านประสิทธิภาพ
สำหรับกรณีการใช้งานส่วนใหญ่ เราขอแนะนำให้ใช้ SearchStream แทน Search ด้วยเหตุผลต่อไปนี้
สำหรับรายงานหน้าเดียว (ไม่เกิน 10,000 แถว): ประสิทธิภาพของทั้ง 2 วิธีไม่แตกต่างกันมากนัก
สำหรับรายงานหลายหน้า: โดยปกติแล้ว
SearchStreamจะเร็วกว่าเนื่องจากไม่ต้องไปกลับหลายครั้ง และการอ่านหรือเขียนจากแคชดิสก์มีผลน้อยกว่า
ขีดจำกัดอัตรา
ขีดจำกัดการใช้งานต่อวันของทั้ง 2 วิธีเป็นไปตามขีดจำกัดมาตรฐานและระดับการเข้าถึงของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google ระบบจะนับการค้นหาหรือรายงานเดียวเป็นการดำเนินการ 1 รายการ ไม่ว่าผลลัพธ์จะแบ่งหน้าหรือสตรีมก็ตาม