Gỡ lỗi lỗi Hạn mức quyền riêng tư đã dùng hết

Hướng dẫn này giải thích cách sử dụng tính năng gỡ lỗi ngân sách quyền riêng tư mới cho các lỗi PRIVACY_BUDGET_EXHAUSTED hiện có trong Dịch vụ tổng hợp, kể từ ngày v2.12.0. Như đã ghi nhận, trong khi các báo cáo có thể tổng hợp được gửi vào một quy trình triển khai Aggregation Service thông qua các công việc, thì cơ sở hạ tầng này dựa vào Aggregatable Reporting Account Service nằm trong các trình điều phối TEE (Môi trường thực thi đáng tin cậy) để giới hạn mức sử dụng ngân sách quyền riêng tư. Xin lưu ý rằng ngân sách về quyền riêng tư xác định số lần tối đa mà các báo cáo có thể tổng hợp này có thể được dùng để tạo báo cáo tóm tắt nhằm hạn chế việc thu thập thông tin. Mọi hoạt động tổng hợp báo cáo vượt quá hạn mức quyền riêng tư được phân bổ sẽ không thành công và gặp lỗi PRIVACY_BUDGET_EXHAUSTED.

Hướng dẫn này sẽ hướng dẫn bạn sử dụng một tính năng gỡ lỗi. Tính năng này sẽ tạo và lưu trữ một tệp JSON trợ giúp gồm các báo cáo liên quan đã góp phần gây ra mọi lỗi PRIVACY_BUDGET_EXHAUSTED tiếp theo mà các công việc của bạn gặp phải (kể từ v2.12.0).

Nếu bạn quan tâm đến khả năng phục hồi ngân sách, hãy tiếp tục xem hướng dẫn công khai của chúng tôi trên GitHub

Điều kiện tiên quyết

Khi tiếp tục, hướng dẫn này giả định rằng bạn đáp ứng các điều kiện sau:

Gỡ lỗi cho một công việc không thành công do lỗi PRIVACY_BUDGET_EXHAUSTED

Đến đây, chúng tôi hy vọng bạn đã thực thi điểm cuối getJob bằng mã nhận dạng yêu cầu công việc mới nhất của mình và nhận được lỗi PRIVACY_BUDGET_EXHAUSTED tương tự như phản hồi sau. Từ v2.12.0 Dịch vụ tổng hợp, bạn sẽ có một tệp gỡ lỗi JSON mới được tạo và đã dùng hết ngân sách quyền riêng tư nằm trong vùng lưu trữ đám mây công khai của bạn.

Các đường dẫn được nêu trong return_message và tuân theo các định dạng sau:

  • Đường dẫn tệp: <output_data_bucket_name>/<output_data_blob_prefix>/
  • Tên tệp: 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": ""
    }
  }
}

Các bước khắc phục lỗi

Tìm và mở đầu ra privacy_budget_exhausted_debugging_information_<utc timestamp>.json được cung cấp cho bạn trong nhóm lưu trữ đám mây công khai. Bạn có thể tìm thấy thông tin này tại đường dẫn <output_data_bucket_name>/<output_data_blob_prefix>do return_message cung cấp. Trong tệp JSON đó, hãy so sánh các thuộc tính filtering_id (mặc định là 0) và relevant_shared_info với các báo cáo có thể tổng hợp đầu vào shared_info. Tìm thấy một kết quả trùng khớp có nghĩa là những báo cáo đó vượt quá ngân sách được phân bổ và dẫn đến lỗi công việc, đồng thời cần được lọc ra trong các công việc sau này. Xin lưu ý rằng bạn vẫn có thể dùng lại các báo cáo trùng khớp với một mã lọc khác. Sau khi xác định và xoá các báo cáo trùng khớp khỏi tệp báo cáo theo lô AVRO, bạn có thể chạy lại tác vụ.

Sau đây là ví dụ về kết quả đầu ra của 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"
       }
     }
   } ]
 }
}

Các bước tiếp theo

Kiểm tra xem có ai khác gặp phải vấn đề tương tự trên Trang tổng quan về trạng thái của Privacy Sandbox hoặc trên kho lưu trữ GitHub công khai hay không. Nếu bạn không thấy giải pháp cho vấn đề về Dịch vụ tổng hợp, hãy gửi vấn đề trên GitHub hoặc gửi biểu mẫu hỗ trợ kỹ thuật.