ברוב השירותים יש ממשקי API סינכרוניים שבהם צריך לשלוח בקשה ואז לחכות לתגובה, אבל ב-BatchJobService יש דרך לבצע קבוצות של פעולות בכמה שירותים בלי לחכות באופן סינכרוני לסיום הפעולות.
בניגוד לפעולות שינוי ספציפיות לשירות, עבודה אחת ב-BatchJobService יכולה לפעול על אוסף מעורב של קמפיינים, קבוצות של מודעות, מודעות, קריטריונים, תוויות ונכסים. משימות שהוגשו פועלות במקביל, ו-BatchJobService מנסה אוטומטית לבצע שוב פעולות שנכשלו בגלל שגיאות זמניות, כמו שגיאות של חריגה ממגבלת הקצב. Google Ads API עדיין סופר כל פעולה במסגרת המגבלה היומית על פעולות, בהתאם להוראות הספירה של פעולות API.
BatchJobService מאפשר גם להשתמש במזהים זמניים בבקשות, כדי שאפשר יהיה לשלוח פעולות תלויות במשימה אחת.
תפעול
BatchJobService תומך בכל הפעולות שמפורטות ב-MutateOperation, שהשירות הבסיסי שלהן תומך בכשל חלקי, וגם ב-AssetGroupOperation וב-AssetGroupListingGroupFilterOperation, שמוחרגות באופן מפורש ומופעלות (יחד עם פעולות קשורות שתלויות זו בזו) בקבוצות משנה אטומיות.
מכיוון ש-Google Ads API מבצע פעולות רגילות בעבודה עם partial failure מופעל (למעט בתוך atomic sub-batches), אם עבודה מבוטלת או שפעולות בודדות נכשלות, הפעולות שהצליחו לא מבוטלות.
הפעולות הבאות ב-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החל מגרסה 23) CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperation-
QuoteCampaignsOperation(זמין ב-MutateOperationהחל מגרסה 23; נדרשת הגדרה שלvalidate_onlyלערךtrue)