แก้ไขข้อผิดพลาดเกี่ยวกับงบประมาณความเป็นส่วนตัวที่หมด

คู่มือนี้จะอธิบายวิธีใช้ฟีเจอร์การแก้ไขข้อบกพร่องงบประมาณด้านความเป็นส่วนตัวใหม่สําหรับข้อผิดพลาด PRIVACY_BUDGET_EXHAUSTED ซึ่งพร้อมใช้งานในบริการรวมข้อมูลแล้ว ณ v2.12.0 ตามที่ได้บันทึกไว้ ขณะส่งรายงานที่รวบรวมได้ไปยังการติดตั้งใช้งานบริการรวบรวมข้อมูลผ่านงาน โครงสร้างพื้นฐานจะอาศัยบริการบัญชีการรายงานที่รวบรวมได้ซึ่งอยู่ในผู้ประสานงาน TEE (Trusted Execution Environment) เพื่อจำกัดการใช้งบประมาณความเป็นส่วนตัว โปรดทราบว่างบประมาณด้านความเป็นส่วนตัวจะกําหนดจํานวนครั้งที่สูงสุดที่สามารถใช้รายงานที่รวบรวมข้อมูลได้เหล่านี้เพื่อสร้างรายงานสรุปเพื่อจํากัดการได้รับข้อมูล การรวมรายงานที่เกินงบประมาณความเป็นส่วนตัวที่กําหนดจะดำเนินการไม่สําเร็จพร้อมข้อผิดพลาด PRIVACY_BUDGET_EXHAUSTED

คู่มือนี้จะอธิบายฟีเจอร์การแก้ไขข้อบกพร่องซึ่ง ณ วันที่ v2.12.0 จะสร้างและจัดเก็บไฟล์ JSON ของรายงานที่เกี่ยวข้องซึ่งช่วยทำให้เกิดข้อผิดพลาด PRIVACY_BUDGET_EXHAUSTED ที่เกิดขึ้นภายหลัง

หากสนใจการกู้คืนงบประมาณ ให้ไปที่คำแนะนำแบบสาธารณะบน GitHub

ข้อกําหนดเบื้องต้น

คู่มือนี้จะถือว่าคุณมีสิ่งต่อไปนี้เมื่อดำเนินการต่อ

  • บริการรวบรวมข้อมูล v2.12.0 (หรือเวอร์ชันที่ใหม่กว่า) ที่ติดตั้งใช้งานในระบบคลาวด์สาธารณะที่คุณเลือก (Google Cloud Platform หรือ Amazon Web Services)

แก้ไขข้อบกพร่องของงานที่ดำเนินการไม่สำเร็จเนื่องจากมีข้อผิดพลาด 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"
       }
     }
   } ]
 }
}

ขั้นตอนถัดไป

ตรวจสอบว่ามีผู้พบปัญหาเดียวกันในหน้าแดชบอร์ดสถานะของ Privacy Sandbox หรือในที่เก็บ GitHub สาธารณะหรือไม่ หากไม่พบวิธีแก้ปัญหาเกี่ยวกับบริการรวบรวมข้อมูล ให้ยื่นเรื่องใน GitHub หรือส่งแบบฟอร์มการสนับสนุนด้านเทคนิค