استخدام أرقام تعريف مؤقتة

من الميزات الفعّالة في BatchJobService أنّها تتيح استخدام المعرّفات المؤقتة.

يمكنك إجراء ذلك من خلال تحديد resource_name للمورد الجديد لاستخدام رقم تعريف سلبي. على سبيل المثال، إذا أنشأت حملة وحددت اسم موردها على أنه customers/<YOUR_CUSTOMER_ID>/campaigns/-1، عند إنشاء المجموعة الإعلانية في عملية لاحقة، يمكنك الإشارة إليها باسم المورد هذا، وسيتم استبدال -1 الذي حدّدته برقم التعريف الفعلي للحملة التي تم إنشاؤها تلقائيًا.

إليك بعض الأشياء التي يجب وضعها في الاعتبار عند استخدام أسماء الموارد المؤقتة:

  • لا يمكن استخدام اسم مورد مؤقت إلا بعد تعريفه في مورد. في المثال التالي، يجب أن تظهر عملية المجموعة الإعلانية بعد تشغيل الحملة في قائمة العمليات.
  • لا يتم تذكر أسماء الموارد المؤقتة عبر المهام أو طلبات التبديل؛ للإشارة إلى مورد تم إنشاؤه في مهمة سابقة أو طلب تبديل، استخدم اسم المورد الفعلي.
  • بالنسبة لمهمة واحدة أو طلب تبديل واحد، يجب أن يستخدم كل اسم مورد مؤقت رقمًا سالبًا فريدًا، حتى لو كانت من أنواع موارد مختلفة. إذا تمت إعادة استخدام معرف مؤقت في مهمة واحدة أو طلب تغيير، فسيتم عرض خطأ.

مثال

لتقديم مثال أكثر واقعية على الحالة المذكورة أعلاه، لنفترض أنّك تريد إضافة حملة ومجموعة إعلانية وإعلان في طلب واحد من واجهة برمجة التطبيقات. يمكنك إنشاء هيكل لطلبك مشابه لما يلي:

mutate_operations: [
  {
    campaign_operation: {
      create: {
        resource_name: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1",
        ...
      }
    }
  },
  {
    ad_group_operation: {
      create: {
        resource_name: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2",
        campaign: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1"
        ...
      }
    }
  },
  {
    ad_group_ad_operation: {
      create: {
        ad_group: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2"
        ...
      }
    }
  },
]

لاحظ أنه يتم استخدام رقم تعريف مؤقت جديد للمجموعة الإعلانية، حيث لا يمكننا إعادة استخدام -1 الذي استخدمناه للحملة، ونحن أيضًا نشير إلى هذه المجموعة الإعلانية عند إنشاء إعلان مجموعة إعلانية. تشير المجموعة الإعلانية نفسها إلى اسم المورد الذي أنشأناه للحملة في عملية سابقة في الطلب، في حين أنّ resource_name في ad_group_ad_operation ليست ضرورية بما أنّه لا توجد عمليات إضافية تشير إليها.