עיבוד באצווה

ברוב השירותים יש ממשקי 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