Umgebung (neu oder aktualisiert) diagnostizieren

Es gibt mehrere Faktoren, die bei der Arbeit mit dem Aggregationsdienst zu Problemen führen können, z. B. die Formatierung von Berichten, Probleme mit der Ausgabedomain und Probleme mit dem Koordinator. Es ist wichtig, die Fehlerquelle und die darin enthaltenen Metadaten zu kennen, um das Problem genau diagnostizieren zu können.

Themen des Leitfadens:

Einrichtung der Client-Mess-API überprüfen

Nachdem Sie überprüft haben, ob Ihr Ursprungsserver ordnungsgemäß registriert wurde, gehen Sie so vor:

  1. Prüfen Sie, wie Sie Berichte auslösen. Prüfen Sie, ob Sie das richtige Berichtsformat erhalten, je nachdem, welche API verwendet wird:

  2. Wenn Sie Berichte wie empfohlen auslösen, das Problem aber weiterhin auftritt, prüfen Sie, ob in der Chrome-Entwicklerkonsole auf den Tabs „Konsole“ und „Netzwerk“ Fehler angezeigt werden.

Wenn Sie weitere Unterstützung bei der Fehlerbehebung für diese Client-APIs benötigen, lesen Sie unsere Anleitung zum Debuggen der Attribution Reporting API und der Private Aggregation API + Shared Storage.

Fehlerbehebung bei der Einrichtung des Berichtsorigins

Auf dem Ursprungsserver für die Berichterstellung haben Sie die richtigen entsprechenden .well-known-Endpunkte deklariert, an die aggregierbare Berichte gesendet werden. Prüfen Sie, ob der bereitgestellte Ursprungsserver für die Berichterstellung ordnungsgemäß registriert wurde.

Werden an die Quelle der Berichte Berichte gesendet?

Prüfen Sie, ob der bereitgestellte Ursprungsserver für die Berichterstellung ordnungsgemäß registriert wurde. Auf diesem Server haben Sie die richtigen entsprechenden .well-known-Endpunkte deklariert, an die aggregierbare Berichte gesendet werden.

Clientseitige Measurement API Abgleichbarer Endpunkt
Attributionsberichte POST /.well-known/attribution-reporting/report-aggregate-attribution
Private Aggregation + Shared Storage (Kombination) POST /.well-known/private-aggregation/report-shared-storage
Private Aggregation + Protected Audience (Kombination) POST /.well-known/private-aggregation/report-protected-audience

Nachdem du überprüft hast, ob dein Ursprungsserver ordnungsgemäß registriert wurde, folge der Anleitung unten:

  1. Prüfen Sie, wie Sie Berichte auslösen. Prüfen Sie, ob Sie das richtige Berichtsformat erhalten, je nachdem, welche API verwendet wird:

  2. Wenn Sie Berichte wie empfohlen auslösen, das Problem aber weiterhin auftritt, prüfen Sie, ob in der Chrome-Entwicklerkonsole auf den Tabs „Konsole“ und „Netzwerk“ Fehler angezeigt werden.

Wenn Sie weitere Unterstützung bei der Fehlerbehebung für diese Client-APIs benötigen , fahren Sie mit der Anleitung zum Beheben von Problemen mit der Attribution Reporting API und der Private Aggregation API + Shared Storage fort.

Fehlerbehebung bei zusammengefassten Berichten

Berichte mit zusammengefassten Daten werden von den clientseitigen Analyse-APIs generiert und an die Quelle der Berichte gesendet. Diese Berichte sollten von Ihrem Berichtsendpunkt in das AVRO-Format konvertiert werden. Wenn es Probleme mit dieser Umwandlung gibt oder die Berichte selbst nicht intakt sind, werden im Aggregationsdienst möglicherweise Fehler angezeigt.

Werden Ihre aggregierten Berichte korrekt konvertiert?

Prüfen Sie, ob Ihr Berichtsendpunkt (.well-known/…) den angegebenen aggregierbaren JSON-Bericht korrekt in AVRO konvertiert.

Die folgenden API-Fehler können aufgrund dieses Problems auftreten:

Fehler DECRYPTION_ERROR
Beispiel
                "result_info": {
                    "return_code": "REPORTS_WITH_ERRORS_EXCEEDED_THRESHOLD",
                    "return_message": "Aggregation job failed early because the number of reports excluded from aggregation exceeded threshold.",
                    "error_summary": {
                        "error_counts": [
                            {
                                "category": "DECRYPTION_ERROR",
                                "count": 1,
                                "description": "Unable to decrypt the report. This may be caused by: tampered aggregatable report shared info, corrupt encrypted report, or other such issues."
                            },
                            {
                                "category": "NUM_REPORTS_WITH_ERRORS",
                                "count": 1,
                                "description": "Total number of reports that had an error. These reports were not considered in aggregation. See additional error messages for details on specific reasons."
                            }
                        ],
                        "error_messages": []
                    }
                }
            
Scheck Dies kann aufgrund von Entschlüsselungsfehlern auftreten, die durch nicht korrekt generierte AVRO-Berichte verursacht werden können, unabhängig davon, ob es sich um aggregierbare AVRO-Berichte oder AVRO-Berichte für die Ausgabedomain handelt. Werden die aggregierbaren AVRO-Berichte korrekt generiert? Die Nutzlast muss base64-decodiert und in ein Byte-Array umgewandelt werden. Der Bericht muss im Avro-Format vorliegen. Prüfen Sie außerdem, ob die Ausgabedomain AVRO korrekt ist. Die Bucket werden in ein escaped Unicode-Hex-Format und dann in ein Byte-Array umgewandelt. Wenn Sie mehr als eine Fehleranzahl sehen, finden Sie weitere Informationen zu den Fehlern auf der GitHub-Seite des Aggregationsdiensts.
Fehler DECRYPTION_KEY_NOT_FOUND
Beispiel
                "result_info": {
                    "return_code": "REPORTS_WITH_ERRORS_EXCEEDED_THRESHOLD",
                    "return_message": "Aggregation job failed early because the number of reports excluded from aggregation exceeded threshold.",
                    "error_summary": {
                        "error_counts": [{
                            "category": "DECRYPTION_KEY_NOT_FOUND",
                            "count": 1,
                            "description": "Could not find decryption key on private key endpoint."
                        }, {
                            "category": "NUM_REPORTS_WITH_ERRORS",
                            "count": 1,
                            "description": "Total number of reports that had an error. These reports were not considered in aggregation. See additional error messages for details on specific reasons."
                        }],
                        "error_messages": []
                    }
                }
            
Scheck Attribution Reporting API

Bei der Attribution Reporting API kann dieser Fehler durch ein Problem bei der Triggerregistrierung verursacht werden. Prüfen Sie, ob der Kunde seinen Trigger mit dem Feld „aggregation_coordinator_origin“ bei der richtigen Cloud registriert hat (Anleitung hier). Möglicherweise stellen Sie auch AWS-verschlüsselte Berichte für die Google Cloud-Bereitstellung des Aggregationsdienstes oder Google Cloud-verschlüsselte Berichte für die AWS-Bereitstellung bereit. Bitten Sie ihn, zu bestätigen, welcher öffentliche Schlüssel-Endpunkt zum Verschlüsseln der aggregierbaren Berichte verwendet wurde. Für Google Cloud muss das Feld „aggregation_coordinator_origin“ im aggregierbaren Bericht https://publickeyservice.msmt.gcp.privacysandboxservices.com sein. Für AWS ist es https://publickeyservice.msmt.aws.privacysandboxservices.com.

Private Aggregation API

Für die Private Aggregation API müssen Sie „aggregationCoordinatorOrigin“ anhand des Beispiels im Abschnitt „Aggregations-Koordinator auswählen“ in der Erläuterung zur Private Aggregation API definieren. Geben Sie https://publickeyservice.msmt.gcp.privacysandboxservices.com als aggregationCoordinatorOrigin an.

Beispiel:

                sharedStorage.run('someOperation', {'privateAggregationConfig':
                {'aggregationCoordinatorOrigin': ' https://publickeyservice.msmt.gcp.privacysandboxservices.com'}});

            
Fehler DECRYPTION_KEY_FETCH_ERROR
Beispiel
                "result_info": {
                        "return_code": "REPORTS_WITH_ERRORS_EXCEEDED_THRESHOLD",
                        "return_message": "Aggregation job failed early because the number of reports excluded from aggregation exceeded threshold.",
                        "error_summary": {
                            "error_counts": [
                                {
                                    "category": "DECRYPTION_KEY_FETCH_ERROR",
                                    "count": 1,
                                    "description": "Fetching the decryption key for report decryption failed. This can happen using an unapproved aggregation service binary, running the aggregation service binary in debug mode, key corruption or service availability issues."
                                },
                                {
                                    "category": "NUM_REPORTS_WITH_ERRORS",
                                    "count": 1,
                                    "description": "Total number of reports that had an error. These reports were not considered in aggregation. See additional error messages for details on specific reasons."
                                }
                            ]
                        }
                }
            
Scheck Bei Problemen mit nicht genehmigten Binärdateien oder im Debug-Modus kann das Problem mit der richtigen Binärdatei behoben werden. Folgen Sie der Anleitung hier, um vorkonfigurierte AMIs zu verwenden, oder erstellen Sie Ihre AMI selbst.

Führen Sie die folgenden Schritte aus, um Folgendes zu überprüfen:

  1. Mit dem Tool aggregatable_report_converter können Sie die aggregierbaren Berichte, die Sie über den .well-known-Endpunkt erfasst haben, in AVRO konvertieren und die Ausgabedomainschlüssel erstellen. Hinweis: Ausgabedateien für Domains sollten einen 16-Byte-Big-Endian-Bytestring enthalten.

  2. Folgen Sie der Anleitung im Codelab für Ihren öffentlichen Cloud-Anbieter, um Ihre Debug-Berichte zu erfassen und einen Aggregations-Dienstjob mit Ihren Ausgabedomainschlüsseln auszuführen: a. Google Cloud: Führen Sie die Schritte 3.1.2 bis 3.2.3 des Aggregation Service Google Cloud Codelab aus. Amazon Web Services: Folgen Sie den Schritten 4.2 bis 5.3 des AWS-Codelabs für den Aggregationsdienst.

Wenn eine SUCCESS-Antwort zurückgegeben wird, funktioniert die Conversion.

Sind Ihre aggregierten Berichte intakt?

Prüfen Sie, ob der zusammengefasste Bericht, die Domainschlüssel für die Ausgabe und die freigegebenen Informationen intakt sind. Weitere Informationen finden Sie in den Beispielcodes zum Konvertieren von aggregierten Berichten und Erstellen von Domaindateien.

Die folgenden API-Fehler können bei diesem Problem auftreten:

Fehler INPUT_DATA_READ_FAILED
Endpunkt createJob
Scheck Sind die Felder input_data_bucket_name, input_data_blob_prefix, output_data_bucket_name und output_data_blob_prefix in der createJob-Anfrage korrekt? Enthalten die Eingabedaten den zu verarbeitenden Bericht? Haben Sie Leseberechtigungen für den Speicherort der Berichte und der Ausgabedomain?

Führen Sie die folgenden Schritte aus, um Folgendes zu überprüfen:

  1. Zusammengefassten Bericht prüfen:

    • Erstellen Sie aggregierte Berichte und verwenden Sie das Tool aggregatable_report_converter, um die Ausgabedomain in das AVRO-Format zu konvertieren.
    • Führen Sie eine createJob-Anfrage mit diesem aggregierbaren Bericht und der Domaindatei aus.
    • Wenn SUCCESS zurückgegeben wird, ist der aggregierbare Bericht intakt. Wenn dabei ein Fehler auftritt, liegt entweder ein Problem mit dem aggregierbaren Bericht oder mit dem Bericht und der Domain vor.
    • Fahren Sie im nächsten Schritt mit der Überprüfung der Domaindatei fort.
  2. Prüfen Sie die Ausgabedomaindatei:

    • Erstellen Sie eine Ausgabedomaindatei und verwenden Sie das Tool aggregatable_report_converter, um den aggregierbaren Bericht zu erstellen.
    • Führen Sie eine createJob-Anfrage mit diesem aggregierbaren Bericht und der Domaindatei aus.
    • Wenn SUCCESS zurückgegeben wird, ist die Ausgabedomain intakt und es gibt ein Problem mit dem Code zum Erstellen des aggregierten Berichts.
    • Fahren Sie mit dem nächsten Schritt fort, um die shared_info zu prüfen.
  3. Freigegebene Informationen überprüfen:

    • Prüfen Sie, ob Sie Berichte mit aktivierter Fehlerbehebung haben. In Berichten mit aktiviertem Debuggen ist das Feld debug_cleartext_payload verfügbar.
    • Erstellen Sie einen Debugbericht für die Verwendung mit dem lokalen Testtool und verwenden Sie debug_cleartext_payload als Nutzlast.
    • Führen Sie das Tool für lokale Tests mit Ihrer Domaindatei aus. Wenn dies ein SUCCESS ist, wurde Ihre shared_info-Datei manipuliert.

Wenn Sie weitere Fehler oder Manipulationen vermuten, erfassen Sie den JSON-Aggregatbericht, den Domainschlüssel, den generierten aggregierten AVRO-Bericht und die Ausgabedomain und fahren Sie mit den nächsten Schritten fort.

Neue Bereitstellungsversion prüfen

Prüfen Sie, ob Ihre Version des Aggregationsdiensts noch unterstützt wird. Nachdem Sie festgestellt haben, welche Version Sie verwenden, sehen Sie in der Liste der Aggregationsservice-Releases nach, ob für Ihre Version die Warnung zum Ende des Supports gilt: This release has reached its end of support on { date }. Die folgenden Anleitungen zum Ermitteln der bereitgestellten Version gelten für die unterstützten öffentlichen Clouds.

Schritte für Google Cloud

  1. Rufen Sie Compute Engine > VM-Instanzen auf.
  2. Klicken Sie auf die VM-Instanz mit -worker- im Namen.
  3. Suchen Sie den Bereich Custom Metadata und dann den Schlüssel tee-image-reference.
  4. Der Wert von tee-image-reference enthält die Versionsnummer. Die Versionsnummer des folgenden Pfads lautet beispielsweise v2.9.1. Das sind vorkonfigurierte Images, die sich in der Artifact Registry eines Google Cloud-Projekts befinden.
    • Hinweis: Dieser Schritt ist nur relevant, wenn Sie die vordefinierten Assets verwenden. Andernfalls sollte dieser Name mit dem übereinstimmen, den Sie dem Bild gegeben und mit dem Sie es getaggt haben. (Beispiel: us.docker.pkg.dev/<gcp_project_name>/artifacts:aggregation-service- container-artifacts-worker_mp_go_prod:2.9.1)

Schritte für Amazon Web Services

  1. Rufen Sie in der Amazon Web Services-Konsole EC2-Instanzen auf.
  2. Klicken Sie auf die Instanz mit dem Namen aggregation-service-operator-dev-env.
  3. Klicken Sie auf der Seite „Instanz“ auf „Details“ > AMI (Amazon Machine Image).
  4. Der Versionsname sollte im Image-Pfad enthalten sein. Die Versionsnummer des folgenden Pfads lautet beispielsweise v2.9.1.
    • Hinweis: Dieser Schritt ist nur relevant, wenn Sie die vordefinierten Assets verwenden. Andernfalls sollte dieser Name mit dem übereinstimmen, den Sie dem Bild gegeben und mit dem Sie es getaggt haben. (Beispiel: aggregation-service-enclave_2.9.1--2024-10-03T01-24-25Z)

Nächste Schritte

Wenn Sie das Problem mit dem Aggregationsdienst nicht lösen können, teilen Sie uns dies mit. Reichen Sie dazu ein GitHub-Problem ein oder senden Sie uns das Formular für den technischen Support.