רוב השירותים מספקים ממשקי API סינכרוניים שבהם צריך לשלוח בקשה ואז להמתין לתגובה, אבל BatchJobService מאפשר לבצע קבוצות של פעולות בכמה שירותים בלי להמתין באופן סינכרוני להשלמת הפעולות.
בניגוד לפעולות שינוי שספציפיות לשירות, משימה אחת ב-BatchJobService יכולה לפעול על אוסף מעורב של קמפיינים, קבוצות של מודעות, מודעות, קריטריונים, תוויות ונכסים. המשימות שנשלחות פועלות במקביל, ו-BatchJobService מנסה באופן אוטומטי לבצע מחדש פעולות שנכשלו בגלל שגיאות זמניות, כמו שגיאות של הגבלת קצב של יצירת בקשות. Google Ads API עדיין סופר כל פעולה כחלק ממגבלת הפעולות היומית, בהתאם להוראות הספירה של פעולות API.
BatchJobService מאפשר גם להשתמש במזהים זמניים בבקשות, כדי שתוכלו לשלוח פעולות תלויות במשימה אחת.
תפעול
BatchJobService תומך בכל הפעולות שמפורטות ב-MutateOperation, שהשירות הבסיסי שלהן תומך בכשל חלקי, וגם ב-AssetGroupOperation וב-AssetGroupListingGroupFilterOperation, שמוחרגים ומבוצעים באופן מפורש (יחד עם פעולות קשורות שתלויות זו בזו) בתת-אצוות אטומיות.
מכיוון ש-Google Ads API מבצע פעולות רגילות במשימה שמופעל בה כשל חלקי (חוץ ממנות משנה אטומיות), אם משימה מבוטלת או שפעולות מסוימות נכשלות, הפעולות שהצליחו לא מבוטלות.
הפעולות הבאות ב-MutateOperation חייבות להיות אטומיות ולא תומכות בכשל חלקי, ולכן אי אפשר להשתמש בהן במשימות באצווה. הוספה של כל אחת מהפעולות האלה למשימה באצווה מחזירה שגיאה מסוג MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE (או InternalError.INTERNAL_ERROR עבור BookCampaignsOperation ו-QuoteCampaignsOperation). במקום זאת, צריך להפעיל אותן באמצעות GoogleAdsService.Mutate כשהערך של partial_failure מוגדר כ-false (והערך של validate_only מוגדר כ-true עבור QuoteCampaignsOperation).
פעולות שלא נתמכות ב-BatchJobService
-
BookCampaignsOperation(זמין ב-MutateOperation) CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperation-
QuoteCampaignsOperation(זמין ב-MutateOperation, מחייב להגדיר אתvalidate_onlyלערךtrue)