توفّر المعالجة على دفعات طريقة لإرسال مجموعة من العمليات التي يمكن أن تكون مترابطة إلى خدمات متعددة بدون انتظار اكتمال العمليات بشكل متزامن. يمكنك استخدام المعالجة على دفعات لإنشاء "حملات الأداء الأفضل" وإدارتها.
يقدّم هذا الدليل تفاصيل خاصة بـ "حملات الأداء الأفضل" عند العمل باستخدام المعالجة على دفعات. يوفّر دليل المعالجة على دفعات العام معلومات عامة عن المعالجة على دفعات، ويحتوي دليل طلبات البنية على معلومات تفصيلية عن إنشاء طلبات لإنشاء "حملات الأداء الأفضل" أو إدارتها.
لإنشاء "حملة أداء أفضل" باستخدام المعالجة على دفعات، اتّبِع الخطوات التالية:
إنشاء مهمة مجمّعة جديدة
اتّبِع خطوة إنشاء مهمة المعالجة على دفعات العامة لإنشاء مورد BatchJob.
إعداد قائمة بعمليات التغيير
تتطلّب "حملات الأداء الأفضل" عمليات لإنشاء عدة موارد ذات صلة، وهي موضّحة بالتفصيل في دليل طلبات البنية. أنشئ
MutateOperation لكل مورد يجب تضمينه
في مهمة مجمّعة.
متطلبات CampaignOperation وCampaignAssetOperation
عند تفعيل إرشادات العلامة التجارية في "حملة الأداء الأفضل"
Campaign (يتم ضبط brand_guidelines_enabled
تلقائيًا على true ما لم يتم ضبطه على false أو إنشاء حملة
أهداف السفر)، عليك ربط موارد Asset للعلامة التجارية بالحملة
باستخدام موارد CampaignAsset.
لا تتيح "حملات الأداء الأفضل" في الخدمات المحلّية استخدام إرشادات العلامة التجارية، وتتجاهل موارد CampaignAsset للعلامة التجارية (يجب ضبط brand_guidelines_enabled على false عند إنشاء الحملة). يمكن أن تحذف "حملات الأداء الأفضل للبيع بالتجزئة" (التي تتضمّن خلاصة Merchant Center) موارد CampaignAsset للعلامة التجارية في الدفعة الفرعية الذرية نفسها فقط عند إنشاء حملة بدون مواد عرض وبدون موارد AssetGroupAsset مخصّصة (بخلاف مواد عرض HTML5 MEDIA_BUNDLE) أو عند ضبط brand_guidelines_enabled على false.
في وظيفة مجمّعة، أنشئ موارد CampaignAsset هذه
بعد إنشاء مورد Campaign نفسه مباشرةً (ما يصل إلى
1,000 عملية إجمالاً في الدفعة الفرعية الذرية).
يجب أن تحدّد عملية إنشاء create (resource_name) في Campaign وعمليات إنشاء create (campaign) المتتالية في CampaignAsset المعرّف المؤقت السالب نفسه، ويجب وضع أي عمليات إنشاء create في AssetOperation مطلوبة مسبقًا قبل إنشاء Campaign. إذا لم يتم إنشاء موارد CampaignAsset
بعد مورد Campaign مباشرةً (عند تفعيل إرشادات العلامة التجارية، يُرجى الاطّلاع على تحديد المشاكل وحلّها)، سيتعذّر تنفيذ الطلب
وسيظهر الخطأ CampaignError الذي يشير إلى عدم توفّر مواد عرض. لن يؤدي تضمين عمليات إنشاء CampaignAsset لاحقًا في قائمة العمليات نفسها إلى منع حدوث هذا الخطأ.
متطلبات AssetGroupOperation وAssetGroupAssetOperation
عند إنشاء موارد AssetGroup مع موارد Asset مرتبطة بها باستخدام AssetGroupAsset لاستيفاء الحدّ الأدنى لمتطلبات مواد العرض، يجب أن تكون عناصر MutateOperation التي تنشئ الموردَين AssetGroup وAssetGroupAsset في وظيفة مجمّعة متسلسلة بدون عمليات أخرى بينها بسبب طريقة تجميع هذه العمليات في دفعات فرعية ذرية (ما يصل إلى 1,000 عملية إجمالاً لكل دفعة فرعية). حدِّد المعرّف المؤقت السالب نفسه
في عملية AssetGroup create (resource_name) وعمليات
AssetGroupAsset create المتتالية (asset_group)، وضَع أي
عمليات AssetOperation create مطلوبة قبل
إنشاء AssetGroup. وإلا، سيتعذّر تنفيذ الطلب مع ظهور
AssetGroupError يشير إلى أنّ بعض مواد العرض
غير متوفّرة، حتى إذا كانت العمليات المطلوبة
لاستيفاء الحدّ الأدنى من متطلبات مواد العرض مضمّنة لاحقًا في
قائمة العمليات.
AssetGroupListingGroupFilterOperation من أفضل الممارسات
عند إنشاء موارد AssetGroupListingGroupFilter أو تعديلها أو إزالتها، أضِف جميع عمليات AssetGroupListingGroupFilterOperation التي تستهدف AssetGroup نفسه إلى المهمة المجمّعة بشكل متتالٍ ليتم تجميع العمليات في دفعة فرعية ذرية أثناء تقسيم الدفعة. للحصول على تفاصيل حول تقسيم الدفعات والعوامل الأخرى التي تؤثر في مجموعات البيانات، يُرجى الاطّلاع على دليل المعالجة على دفعات لمجموعات البيانات.
إضافة عمليات التعديل إلى المهمة
أضِف عمليات التغيير من الخطوة 2 إلى قائمة واستدعِ طريقة AddBatchJobOperations لإضافة قائمة التغييرات إلى المهمة المجمّعة التي تم إنشاؤها في الخطوة 1. اتّبِع خطوة إضافة العمليات في دليل المعالجة المجمّعة العام لإضافة قائمة عمليات التعديل.
تنفيذ المهمة المجمّعة
ابدأ بتشغيل العمليات التي تم تحميلها من خلال استدعاء طريقة
RunBatchJob. يمكنك الاطّلاع على خطوة تنفيذ مهمة المعالجة على دفعات في دليل المعالجة على دفعات العام للحصول على مثال.
استطلاع حالة المهمة واسترداد النتائج
يتم تنفيذ مهام الدفعات كعمليات طويلة الأمد وتستغرق عادةً بعض الوقت لإكمالها. بعد
بدء المهمة، استخدِم طريقة Operations.GetOperation
في خدمة google.longrunning.Operations (أو أرسِل طلب بحث إلى
batch_job.status باستخدام GoogleAdsService)
لاستطلاع حالة المهمة إلى أن تكتمل.
عند انتهاء مهمة الدُفعة، يمكنك استدعاء طريقة
ListBatchJobResults لاسترداد الحالة
والاستجابة لكل عملية في المهمة. للاطّلاع على مثال، يُرجى مراجعة إدراج جميع نتائج المهام المجمّعة.