আপনার ব্যবহারের ধরনের ওপর নির্ভর করে, গুগল অ্যাডস এপিআই রিসোর্স পরিবর্তন করার একাধিক উপায় প্রদান করে:
- রিসোর্স সার্ভিস মিউটেট করে : প্রতিটি পরিবর্তনযোগ্য রিসোর্সের একটি ডেডিকেটেড সার্ভিস থাকে যা সেই নির্দিষ্ট রিসোর্স টাইপের জন্য অপারেশনগুলো সম্পাদন করে। উদাহরণস্বরূপ,
Campaignরিসোর্সটি ক্যাম্পেইন তৈরি, আপডেট বা অপসারণ করার জন্যCampaignService.MutateCampaignsএন্ডপয়েন্টটি ব্যবহার করে। - বাল্ক মিউটেট :
GoogleAdsService.Mutateএন্ডপয়েন্টটি একটি একক সিনক্রোনাস অনুরোধের মধ্যে একাধিক রিসোর্স টাইপ জুড়ে ধারাবাহিক মিউটেট অপারেশন (এবং, v23 ও তার পরবর্তী সংস্করণগুলিতে, ক্যাম্পেইন বুকিং বা কোটিং-এর মতো সমর্থিত অ্যাকশন অপারেশন) সম্পন্ন করে। - অ্যাসিঙ্ক্রোনাস ব্যাচ জব : বড় আকারের পরিবর্তন বা দীর্ঘ সময় ধরে চলা ওয়ার্কলোডের জন্য,
BatchJobServiceসিঙ্ক্রোনাস রিকোয়েস্ট টাইমআউটের ঝুঁকি ছাড়াই অ্যাসিঙ্ক্রোনাসভাবে অপারেশনগুলো সম্পাদন করে।GoogleAdsService.Mutateমতো নয়,BatchJobServiceসর্বদা পার্শিয়াল-ফেলিউর সেম্যান্টিক্সের অধীনে চলে এবংvalidate_onlyমোড বা অ্যাকশন অপারেশন (book_campaigns_operation,quote_campaigns_operation) সমর্থন করে না। যেহেতু পার্শিয়াল ফেলিউর সর্বদা সক্রিয় থাকে, তাইBatchJobServiceসেইসব রিসোর্স অপারেশন প্রত্যাখ্যান করে, যাদের অন্তর্নিহিত সার্ভিসগুলো পার্শিয়াল ফেলিউর সমর্থন করে না (যেমনCustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperation, এবংCustomerConversionGoalOperation)। এর জন্যMutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE।
বাল্ক মিউটেশনের সুবিধাগুলি
GoogleAdsService.Mutate ব্যবহার করলে নিম্নলিখিত সুবিধাগুলো পাওয়া যায় (বাস্তবায়ন নির্দেশনার জন্য Mutate-এর সর্বোত্তম অনুশীলন দেখুন):
- বিভিন্ন রিসোর্স সার্ভিসে সম্মিলিত কার্যক্রম: যেখানে স্বতন্ত্র রিসোর্স সার্ভিস কলগুলো শুধুমাত্র একটি রিসোর্স টাইপের জন্য অপারেশন গ্রহণ করে, সেখানে
GoogleAdsService.Mutateআপনাকে একটি কলেই একাধিক রিসোর্স টাইপ পরিবর্তন (mutate) করার সুযোগ দেয়। - অস্থায়ী রিসোর্স নাম: আপনি নতুন তৈরি করা প্যারেন্ট এনটিটিগুলোকে ঋণাত্মক পূর্ণসংখ্যা আইডি (যেমন
customers/CUSTOMER_ID/campaigns/-1) বরাদ্দ করতে পারেন এবং একই অনুরোধের মধ্যে চাইল্ড অপারেশনগুলোতে সেই অস্থায়ী আইডিগুলো রেফারেন্স হিসেবে ব্যবহার করতে পারেন।
এই সক্ষমতাগুলোর সাহায্যে, আপনি GoogleAdsService.Mutate ব্যবহার করে পারমাণবিকভাবে একটি সম্পূর্ণ ক্যাম্পেইন কাঠামো তৈরি করতে পারেন, যাতে সমস্ত অপারেশন একসাথে সফল বা ব্যর্থ হয়, অথবা বৈধ অপারেশনগুলোকে স্বাধীনভাবে সম্পন্ন করার জন্য partial_failure কে true সেট করতে পারেন।