In diesem Leitfaden wird beschrieben, wie Sie die neue Funktion zur Fehlerbehebung für das Datenschutzbudget für PRIVACY_BUDGET_EXHAUSTED
-Fehler verwenden, die seit dem v2.12.0
im Aggregationsdienst verfügbar ist. Wie dokumentiert, werden aggregierbare Berichte zwar über Jobs in eine Bereitstellung des Aggregationsdienstes gesendet, die Infrastruktur nutzt jedoch den Dienst für aggregierbare Berichte, der sich in den TEE-Koordinatoren (Trusted Execution Environment) befindet, um die Nutzung des Datenschutzbudgets zu begrenzen. Zur Erinnerung: Mit dem Datenschutzbudget wird festgelegt, wie oft diese aggregierbaren Berichte maximal verwendet werden können, um Zusammenfassungsberichte zu erstellen und so den Informationsgewinn zu begrenzen. Wenn eine Berichtsaggregation das zugewiesene Privacy-Budget überschreitet, schlägt sie mit dem Fehler PRIVACY_BUDGET_EXHAUSTED
fehl.
In dieser Anleitung wird eine Debugging-Funktion beschrieben, mit der seit dem v2.12.0
eine JSON-Hilfsdatei mit relevanten Berichten generiert und gespeichert wird, die zu nachfolgenden PRIVACY_BUDGET_EXHAUSTED
-Fehlern bei Ihren Jobs beigetragen haben.
Weitere Informationen zur Budgetwiederherstellung finden Sie in unserer öffentlichen Anleitung auf GitHub.
Voraussetzung
Wenn Sie fortfahren, wird davon ausgegangen, dass Sie Folgendes haben:
- Aggregation Service
v2.12.0
(oder höher) in der von Ihnen ausgewählten öffentlichen Cloud (Google Cloud Platform oder Amazon Web Services) bereitgestellt.
Job beheben, der mit dem Fehler „PRIVACY_BUDGET_EXHAUSTED“ fehlgeschlagen ist
Angenommen, Sie haben den getJob
-Endpunkt mit der ID Ihrer letzten Jobanfrage ausgeführt und einen PRIVACY_BUDGET_EXHAUSTED
-Fehler erhalten, der der folgenden Antwort ähnelt. Im Aggregation Service v2.12.0
sollte sich eine neu generierte Datei JSON
zum Debuggen des Datenschutzbudgets in Ihrem öffentlichen Cloud-Speicher-Bucket befinden.
Die Pfade werden in der return_message angegeben und folgen den folgenden Formaten:
- Dateipfad:
<output_data_bucket_name>/<output_data_blob_prefix>/
- Dateiname:
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": ""
}
}
}
Schritte zur Fehlerbehebung
Suchen Sie die privacy_budget_exhausted_debugging_information_<utc timestamp>.json
-Ausgabe, die Sie in Ihrem öffentlichen Cloud Storage-Bucket erhalten haben, und öffnen Sie sie. Sie finden sie unter dem Pfad <output_data_bucket_name>/<output_data_blob_prefix>
, der in return_message
angegeben ist.
Vergleichen Sie in dieser JSON-Datei die Eigenschaften filtering_id
(Standardwert: 0) und relevant_shared_info
mit den aggregierten Eingabeberichten shared_info
.
Wenn eine Übereinstimmung gefunden wird, überschreiten diese Berichte das zugewiesene Budget und führen zu einem Jobfehler. Sie müssen in zukünftigen Jobs herausgefiltert werden. Die übereinstimmenden Berichte können jedoch mit einer anderen Filter-ID wiederverwendet werden. Nachdem Sie die übereinstimmenden Berichte aus der Datei AVRO
mit den Batchberichten identifiziert und entfernt haben, können Sie den Job noch einmal ausführen.
Im Folgenden finden Sie ein Beispiel für die Ausgabe von 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"
}
}
} ]
}
}
Nächste Schritte
Sehen Sie im Privacy Sandbox-Status-Dashboard oder im öffentlichen GitHub-Repository nach, ob andere Nutzer dasselbe Problem haben. Wenn Sie das Problem mit dem Aggregationsdienst nicht lösen können, erstellen Sie ein GitHub-Problem oder reichen Sie das Formular für den technischen Support ein.