Bu kılavuzda, v2.12.0
tarihinden itibaren Aggregation Service'te kullanıma sunulan PRIVACY_BUDGET_EXHAUSTED
hataları için yeni gizlilik bütçesi hata ayıklama özelliğinin nasıl kullanılacağı açıklanmaktadır. Belgelerde belirtildiği gibi, birleştirilebilir raporlar işler aracılığıyla Toplama Hizmeti dağıtımına gönderilirken altyapı, gizlilik bütçesi kullanımını sınırlamak için TEE (Güvenilir Yürütme Ortamı) koordinatörlerinde bulunan Birleştirilebilir Raporlama Hesabı Hizmeti'ni kullanır. Gizlilik bütçesinin, bilgi kazanımını sınırlamak için özet raporlar oluşturmak amacıyla bu birleştirilebilir raporların maksimum kaç kez kullanılabileceğini belirlediğini hatırlatmak isteriz. Bir raporun, ayrılan gizlilik bütçesinin ötesinde toplanması PRIVACY_BUDGET_EXHAUSTED
hatasıyla başarısız olur.
Bu kılavuzda, v2.12.0
itibarıyla işlerinizin yaşadığı sonraki PRIVACY_BUDGET_EXHAUSTED
hatalarına neden olan ilgili raporların yardımcı JSON dosyasını oluşturan ve depolayan bir hata ayıklama özelliğinde size yol gösterilmektedir.
Bütçe kurtarma hakkında bilgi edinmek istiyorsanız GitHub'daki herkese açık rehberimize göz atın.
Ön koşul
Bu kılavuzda, devam ederek aşağıdakileri yaptığınız varsayılmaktadır:
- Seçtiğiniz herkese açık bulutta (Google Cloud Platform veya Amazon Web Services) dağıtılan
v2.12.0
(veya sonraki bir sürüm) toplama hizmeti.
PRIVACY_BUDGET_EXHAUSTED hatasıyla başarısız olan bir işin hata ayıklama
Bu noktada, en son iş isteği kimliğinizle getJob
uç noktasını çalıştırdığınızı ve aşağıdaki yanıta benzer bir PRIVACY_BUDGET_EXHAUSTED
hatası aldığınızı varsayıyoruz. Toplama Hizmeti v2.12.0
'te, herkese açık Cloud Storage paketinizde yeni oluşturulmuş bir gizlilik bütçesi tükenmiş hata ayıklama JSON
dosyanız olmalıdır.
Yollar, return_message tarafından belirtilir ve aşağıdaki biçimleri izler:
- Dosya yolu:
<output_data_bucket_name>/<output_data_blob_prefix>/
- Dosya adı:
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": ""
}
}
}
Hata Çözümü Adımları
Herkese açık Cloud Storage paketinizde size sağlanan privacy_budget_exhausted_debugging_information_<utc timestamp>.json
çıktısını bulup açın. Bu dosyayı return_message
'da sağlanan <output_data_bucket_name>/<output_data_blob_prefix>
yolunda bulabilirsiniz.
Bu JSON dosyasında, filtering_id
(varsayılan olarak 0) ve relevant_shared_info
mülklerini, toplu olarak birleştirilebilir giriş raporlarıyla shared_info
karşılaştırın.
Eşleşme bulunması, bu raporların ayrılan bütçeyi aştığı ve bir işin başarısız olmasına yol açtığı anlamına gelir. Bu nedenle, gelecekteki işlerde bu raporların filtrelenmesi gerekir. Eşleşen raporların farklı bir filtreleme kimliğiyle yeniden kullanılabileceğini unutmayın. Eşleşen raporları tespit edip toplu raporlar AVRO
dosyanızdan kaldırdıktan sonra işinizi yeniden çalıştırmaya hazırsınız demektir.
Aşağıda, privacy_budget_exhausted_debugging_information_<utc timestamp>.json
çıkışına dair bir örnek verilmiştir.
{
"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"
}
}
} ]
}
}
Sonraki Adımlar
Privacy Sandbox Durum Kontrol Paneli'nde veya herkese açık GitHub deposunda başka birinin aynı sorunla karşılaşıp karşılaşmadığını kontrol edin. Toplama Hizmeti sorununuzun çözümünü görmüyorsanız GitHub'da bir sorun kaydı oluşturun veya teknik destek formunu gönderin.