ডিবাগ গোপনীয়তা বাজেট নিঃশেষিত ত্রুটি৷

এই নির্দেশিকা ব্যাখ্যা করে যে PRIVACY_BUDGET_EXHAUSTED ত্রুটিগুলির জন্য কীভাবে নতুন গোপনীয়তা বাজেট ডিবাগিং বৈশিষ্ট্যটি ব্যবহার করতে হয় যা এখন v2.12.0 হিসাবে অ্যাগ্রিগেশন পরিষেবাতে উপলব্ধ। নথিভুক্ত হিসাবে, যখন সমষ্টিগত প্রতিবেদনগুলি চাকরির মাধ্যমে একত্রিতকরণ পরিষেবার স্থাপনায় জমা দেওয়া হয়, তখন পরিকাঠামো গোপনীয়তা বাজেটের ব্যবহারকে সীমাবদ্ধ করতে TEE (ট্রাস্টেড এক্সিকিউশন এনভায়রনমেন্ট) সমন্বয়কারীতে অবস্থিত অ্যাগ্রিগেটেবল রিপোর্টিং অ্যাকাউন্ট পরিষেবার উপর নির্ভর করে। একটি অনুস্মারক হিসাবে, গোপনীয়তা বাজেট তথ্য লাভ সীমিত করতে সারাংশ প্রতিবেদন তৈরি করতে এই সমষ্টিগত প্রতিবেদনগুলি ব্যবহার করা যেতে পারে তা নির্ধারণ করে। PRIVACY_BUDGET_EXHAUSTED ত্রুটির সাথে তার বরাদ্দকৃত গোপনীয়তা বাজেটের বাইরে একটি প্রতিবেদনের যেকোন সমষ্টি ব্যর্থ হবে৷

এই নির্দেশিকাটি আপনাকে একটি ডিবাগিং বৈশিষ্ট্যের মাধ্যমে নিয়ে যায় যা v2.12.0 হিসাবে, প্রাসঙ্গিক প্রতিবেদনগুলির একটি সহায়ক JSON ফাইল তৈরি করে এবং সঞ্চয় করে যা আপনার কাজের দ্বারা অনুভূত পরবর্তী PRIVACY_BUDGET_EXHAUSTED ত্রুটিগুলিতে অবদান রাখে৷

আপনি যদি বাজেট পুনরুদ্ধারে আগ্রহী হন, GitHub-এ আমাদের জনসাধারণের নির্দেশিকা চালিয়ে যান

পূর্বশর্ত

চালিয়ে যাওয়ার মাধ্যমে, গাইড অনুমান করে যে আপনার নিম্নলিখিতগুলি রয়েছে:

একটি কাজ ডিবাগ করুন যা PRIVACY_BUDGET_EXHAUSTED ত্রুটির সাথে ব্যর্থ হয়েছে৷

এই মুহুর্তে, আমরা আশা করি যে আপনি আপনার সর্বশেষ কাজের অনুরোধ আইডি দিয়ে getJob এন্ডপয়েন্ট সম্পাদন করেছেন এবং নিম্নলিখিত প্রতিক্রিয়ার মতো একটি PRIVACY_BUDGET_EXHAUSTED ত্রুটি ফিরে পেয়েছেন৷ অ্যাগ্রিগেশন সার্ভিস v2.12.0 থেকে, আপনার পাবলিক ক্লাউড স্টোরেজ বালতিতে থাকা একটি নতুন জেনারেট করা গোপনীয়তা বাজেট নিঃশেষিত ডিবাগিং JSON ফাইল থাকা উচিত।

পাথগুলি return_message দ্বারা বিবৃত করা হয়েছে এবং নিম্নলিখিত ফর্ম্যাটগুলি অনুসরণ করুন:

  • ফাইল পাথ: <output_data_bucket_name>/<output_data_blob_prefix>/
  • ফাইলের নাম: privacy_budget_exhausted_<request_received_at_timestamp>.json
{
  "job_status": "FINISHED",
  "request_received_at": <utc timestamp>,
  "request_updated_at": <utc timestamp>,
  "job_request_id": <customer assigned job id>,
  
  "request_processing_started_at": <utc timestamp>,
  "result_info": {
    "return_code": "PRIVACY_BUDGET_EXHAUSTED",
    "return_message": "com.google.aggregate.adtech.worker.exceptions.AggregationJobProcessException: Insufficient privacy budget for one or more aggregatable reports. No aggregatable report can appear in more than one aggregation job. Information related to reports that do not have budget can be found in the following file:
    File path: ags-privacy-budget-codelab/output-bucket/output-domain Filename: privacy budget exhausted debugging information <utc timestamp> \n com.google.aggregate.adtech.worker.aggregation.concurrent.ConcurrentAggregationProcessor.consumePrivacyBudgetUnits(ConcurrentAggregationProcessor.java:525) \n com.google.aggregate.adtech.worker.aggregation.concurrent.ConcurrentAggregationProcessor.process(ConcurrentAggregationProcessor.java:319) \n com.google.aggregate.adtech.worker.WorkerPullWorkService.run(WorkerPullWorkService.java:157)",
    "error_summary": {
      "error_counts": "",
      "error_messages": ""
    }
  }
}

ত্রুটি সমাধান পদক্ষেপ

আপনার সর্বজনীন ক্লাউড স্টোরেজ বালতিতে আপনাকে দেওয়া privacy_budget_exhausted_debugging_information_<utc timestamp>.json আউটপুট সনাক্ত করুন এবং খুলুন। এটি <output_data_bucket_name>/<output_data_blob_prefix> -এ প্রদত্ত return_message পাওয়া যাবে। সেই JSON ফাইলের মধ্যে, filtering_id (ডিফল্ট 0 তে) এবং relevant_shared_info বৈশিষ্ট্যগুলির সাথে ইনপুট সমষ্টিগত প্রতিবেদন shared_info সাথে তুলনা করুন। একটি মিল খুঁজে বের করার অর্থ হল সেই রিপোর্টগুলি বরাদ্দকৃত বাজেটের চেয়ে বেশি এবং চাকরির ব্যর্থতার দিকে পরিচালিত করে এবং ভবিষ্যতের চাকরিগুলিতে ফিল্টার আউট করতে হবে৷ মনে রাখবেন যে ম্যাচিং রিপোর্টগুলি এখনও একটি ভিন্ন ফিল্টারিং আইডি দিয়ে পুনরায় ব্যবহার করা যেতে পারে। আপনি আপনার ব্যাচ রিপোর্ট AVRO ফাইল থেকে ম্যাচিং রিপোর্টগুলি সনাক্ত এবং মুছে ফেলার পরে, আপনি আপনার কাজ পুনরায় চালানোর জন্য প্রস্তুত।

নিম্নলিখিত privacy_budget_exhausted_debugging_information_<utc timestamp>.json আউটপুটের একটি উদাহরণ।

{
 "privacy_budget_exhausted_info" : {
   "aggregatable_input_budget_consumption_info" : [ {
     "aggregateable_input_budget_id" : {
       "filtering_id" : 0,
       "relevant_shared_info" : {
         "api" : "attribution-reporting",
         "attribution_destination" : "f246a4e6-dde9-46a5-a6b2-ea523b484d0a",
         "reporting_origin" : "foo.com",
         "scheduled_report_time" : 1738814400.000000000,
         "source_registration_time" : 1738713600.000000000,
         "version" : "0.1"
       }
     }
   }, {
       "aggregateable_input_budget_id" : {
       "filtering_id" : 0,
       "relevant_shared_info" : {
         "api" : "attribution-reporting",
         "attribution_destination" : "f246a4e6-dde9-46a5-a6b2-ea523b484d0a",
         "reporting_origin" : "foo.com",
         "scheduled_report_time" : 1738796400.000000000,
         "source_registration_time" : 1738713600.000000000,
         "version" : "0.1"
       }
     }
   } ]
 }
}

পরবর্তী পদক্ষেপ

গোপনীয়তা স্যান্ডবক্স স্ট্যাটাস ড্যাশবোর্ডে বা সর্বজনীন GitHub সংগ্রহস্থলে অন্য কেউ একই সমস্যার সম্মুখীন হয়েছে কিনা তা পরীক্ষা করুন। আপনি যদি আপনার অ্যাগ্রিগেশন পরিষেবার সমস্যার সমাধান দেখতে না পান, তাহলে একটি GitHub সমস্যা ফাইল করুন বা প্রযুক্তিগত সহায়তা ফর্ম জমা দিন।