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

من الميزات الفعّالة في 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 غير ضرورية بما أنّه ما مِن عملية إضافية تشير إليه.