في حين أنّ معظم الخدمات توفّر واجهات برمجة تطبيقات متزامنة تتطلّب منك تقديم طلب ثم انتظار الرد، توفّر BatchJobService طريقة لتنفيذ مجموعات من العمليات على خدمات متعددة بدون انتظار اكتمال العمليات بشكل متزامن.
على عكس عمليات التحويل الخاصة بالخدمة، يمكن لمهمة واحدة في BatchJobService أن تعمل على مجموعة مختلطة من الحملات والمجموعات الإعلانية والإعلانات والمعايير والتصنيفات ومواد العرض. يتم تشغيل المهام المُرسَلة بالتوازي، ويعيد BatchJobService تلقائيًا محاولة تنفيذ العمليات التي تعذّر إكمالها بسبب أخطاء عابرة، مثل أخطاء تجاوز الحد الأقصى المسموح به. ستواصل واجهة Google Ads 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)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(متوفّرة فيMutateOperation، وتتطلّب ضبطvalidate_onlyعلىtrue)