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

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

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

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

পূর্বশর্ত

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

PRIVACY_BUDGET_EXHAUSTED ত্রুটির কারণে ব্যর্থ একটি কাজ ডিবাগ করুন

এই মুহুর্তে, আমরা আশা করছি যে আপনি আপনার সর্বশেষ চাকরির অনুরোধ আইডি দিয়ে getJob এন্ডপয়েন্টটি কার্যকর করেছেন এবং নিম্নলিখিত প্রতিক্রিয়ার মতো একটি PRIVACY_BUDGET_EXHAUSTED ত্রুটি ফিরে পেয়েছেন। Aggregation Service 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 আউটপুটটি খুঁজে বের করুন এবং খুলুন। এটি return_message এ প্রদত্ত path <output_data_bucket_name>/<output_data_blob_prefix> এ পাওয়া যাবে। সেই JSON ফাইলের মধ্যে, filtering_id (ডিফল্ট 0) এবং relevant_shared_info বৈশিষ্ট্যগুলিকে ইনপুট aggregatable রিপোর্ট 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"
       }
     }
   } ]
 }
}

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

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