BatchJobService
এর একটি শক্তিশালী বৈশিষ্ট্য হল এটি অস্থায়ী আইডি ব্যবহার সমর্থন করে।
আপনি একটি নেতিবাচক আইডি ব্যবহার করতে নতুন সম্পদের resource_name
উল্লেখ করে এটি করতে পারেন। উদাহরণস্বরূপ, আপনি যদি একটি প্রচারাভিযান তৈরি করেন এবং customers/<YOUR_CUSTOMER_ID>/campaigns/-1
হিসাবে তার সংস্থানের নাম উল্লেখ করেন, তাহলে আপনি যখন পরবর্তী ক্রিয়াকলাপে বিজ্ঞাপন গোষ্ঠী তৈরি করছেন, আপনি সেই সংস্থান নাম এবং -1
দ্বারা এটি উল্লেখ করতে পারেন। আপনার নির্দিষ্ট করা স্বয়ংক্রিয়ভাবে তৈরি প্রচারাভিযানের আসল ID দ্বারা প্রতিস্থাপিত হবে।
অস্থায়ী সম্পদের নাম ব্যবহার করার সময় এখানে কিছু বিষয় মনে রাখতে হবে:
- একটি অস্থায়ী সম্পদ নাম শুধুমাত্র একটি সম্পদে সংজ্ঞায়িত করার পরে ব্যবহার করা যেতে পারে। নীচের উদাহরণে, বিজ্ঞাপন গোষ্ঠীর অপারেশনটি প্রচারাভিযানের পরে অপারেশনের তালিকায় উপস্থিত হতে হবে৷
- অস্থায়ী সম্পদের নামগুলি চাকরি বা পরিবর্তনের অনুরোধ জুড়ে মনে রাখা হয় না; পূর্ববর্তী কাজের বা মিউটেট রিকোয়েস্টে তৈরি রিসোর্স রেফারেন্স করতে, এর প্রকৃত রিসোর্স নাম ব্যবহার করুন।
- একটি একক কাজ বা পরিবর্তনের অনুরোধের জন্য, প্রতিটি অস্থায়ী সম্পদের নাম একটি অনন্য ঋণাত্মক সংখ্যা ব্যবহার করতে হবে, এমনকি যদি সেগুলি বিভিন্ন ধরনের সম্পদ থেকে হয়। যদি একটি অস্থায়ী আইডি একটি একক কাজ বা মিউটেট অনুরোধে পুনরায় ব্যবহার করা হয়, তাহলে একটি ত্রুটি ফেরত দেওয়া হয়।
উদাহরণ
উপরে উল্লিখিত পরিস্থিতির একটি আরও সুনির্দিষ্ট উদাহরণ দিতে, ধরুন আপনি একটি একক API অনুরোধে একটি প্রচার, একটি বিজ্ঞাপন গোষ্ঠী এবং একটি বিজ্ঞাপন যোগ করতে চান৷ আপনি আপনার অনুরোধের জন্য নিম্নলিখিতগুলির অনুরূপ একটি কাঠামো তৈরি করবেন:
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
পুনরায় ব্যবহার করতে পারি না এবং একটি বিজ্ঞাপন গোষ্ঠী বিজ্ঞাপন তৈরি করার সময় আমরা এই বিজ্ঞাপন গোষ্ঠীটিকেও উল্লেখ করি৷ বিজ্ঞাপন গোষ্ঠী নিজেই অনুরোধে একটি পূর্ববর্তী অপারেশনে প্রচারের জন্য আমরা যে সংস্থান নামটি প্রতিষ্ঠা করেছি তা উল্লেখ করে, যখন ad_group_ad_operation
এ resource_name
প্রয়োজন হয় না কারণ আর কোনও অপারেশন এটিকে উল্লেখ করছে না।
BatchJobService
এর একটি শক্তিশালী বৈশিষ্ট্য হল এটি অস্থায়ী আইডি ব্যবহার সমর্থন করে।
আপনি একটি নেতিবাচক আইডি ব্যবহার করতে নতুন সম্পদের resource_name
উল্লেখ করে এটি করতে পারেন। উদাহরণস্বরূপ, আপনি যদি একটি প্রচারাভিযান তৈরি করেন এবং customers/<YOUR_CUSTOMER_ID>/campaigns/-1
হিসাবে তার সংস্থানের নাম উল্লেখ করেন, তাহলে আপনি যখন পরবর্তী ক্রিয়াকলাপে বিজ্ঞাপন গোষ্ঠী তৈরি করছেন, আপনি সেই সংস্থান নাম এবং -1
দ্বারা এটি উল্লেখ করতে পারেন। আপনার নির্দিষ্ট করা স্বয়ংক্রিয়ভাবে তৈরি প্রচারাভিযানের আসল ID দ্বারা প্রতিস্থাপিত হবে।
অস্থায়ী সম্পদের নাম ব্যবহার করার সময় এখানে কিছু বিষয় মনে রাখতে হবে:
- একটি অস্থায়ী সম্পদ নাম শুধুমাত্র একটি সম্পদে সংজ্ঞায়িত করার পরে ব্যবহার করা যেতে পারে। নীচের উদাহরণে, বিজ্ঞাপন গোষ্ঠীর অপারেশনটি প্রচারাভিযানের পরে অপারেশনের তালিকায় উপস্থিত হতে হবে৷
- অস্থায়ী সম্পদের নামগুলি চাকরি বা পরিবর্তনের অনুরোধ জুড়ে মনে রাখা হয় না; পূর্ববর্তী কাজের বা মিউটেট রিকোয়েস্টে তৈরি রিসোর্স রেফারেন্স করতে, এর প্রকৃত রিসোর্স নাম ব্যবহার করুন।
- একটি একক কাজ বা পরিবর্তনের অনুরোধের জন্য, প্রতিটি অস্থায়ী সম্পদের নাম একটি অনন্য ঋণাত্মক সংখ্যা ব্যবহার করতে হবে, এমনকি যদি সেগুলি বিভিন্ন ধরনের সম্পদ থেকে হয়। যদি একটি অস্থায়ী আইডি একটি একক কাজ বা মিউটেট অনুরোধে পুনরায় ব্যবহার করা হয়, তাহলে একটি ত্রুটি ফেরত দেওয়া হয়।
উদাহরণ
উপরে উল্লিখিত পরিস্থিতির একটি আরও সুনির্দিষ্ট উদাহরণ দিতে, ধরুন আপনি একটি একক API অনুরোধে একটি প্রচার, একটি বিজ্ঞাপন গোষ্ঠী এবং একটি বিজ্ঞাপন যোগ করতে চান৷ আপনি আপনার অনুরোধের জন্য নিম্নলিখিতগুলির অনুরূপ একটি কাঠামো তৈরি করবেন:
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
পুনরায় ব্যবহার করতে পারি না এবং একটি বিজ্ঞাপন গোষ্ঠী বিজ্ঞাপন তৈরি করার সময় আমরা এই বিজ্ঞাপন গোষ্ঠীটিকেও উল্লেখ করি৷ বিজ্ঞাপন গোষ্ঠী নিজেই অনুরোধে একটি পূর্ববর্তী অপারেশনে প্রচারের জন্য আমরা যে সংস্থান নামটি প্রতিষ্ঠা করেছি তা উল্লেখ করে, যখন ad_group_ad_operation
এ resource_name
প্রয়োজন হয় না কারণ আর কোনও অপারেশন এটিকে উল্লেখ করছে না।