Diversi fattori possono creare problemi durante l'utilizzo del servizio di aggregazione, tra cui la formattazione dei report, i problemi relativi al dominio di output e i problemi relativi al coordinatore. È importante comprendere l'origine dell'errore e gli eventuali metadati in esso contenuti per diagnosticare con precisione il problema.
Argomenti della guida:
- Verificare la configurazione dell'API di misurazione del cliente
- Risoluzione dei problemi relativi alla configurazione dell'origine report
- Risolvere i problemi relativi ai report aggregati
- Controllare la versione del deployment
Verificare la configurazione dell'API di misurazione del cliente
Dopo aver verificato che il server di origine sia stato registrato correttamente, completa i seguenti passaggi:
Controlla come attivi i report. Verifica di ricevere il formato del report corretto in base all'API utilizzata:
- API Attribution Reporting
- Per l'API Attribution Reporting, assicurati di aver registrato correttamente l'origine (Event e Summary). Per eseguire la registrazione dell'attivatore (Evento e Riepilogo), assicurati che il JSON passato a
Attribution-Reporting-Register-Trigger
sia corretto utilizzando lo strumento di convalida dell'intestazione. (scopri di più sui report di riepilogo dell'API Attribution Reporting)
- Per l'API Attribution Reporting, assicurati di aver registrato correttamente l'origine (Event e Summary). Per eseguire la registrazione dell'attivatore (Evento e Riepilogo), assicurati che il JSON passato a
- API Private Aggregation
- I report nell'API Private Aggregation possono essere completati utilizzando la funzione
contributeToHistogram
. Assicurati di passare la chiave e il valore del bucket. La chiave del bucket deve essere in formatoBigInt
. (scopri di più sull'API Private Aggregation)
- I report nell'API Private Aggregation possono essere completati utilizzando la funzione
- API Attribution Reporting
Se attivi i report come consigliato, ma il problema persiste, controlla se sono stati rilevati errori nella Console per gli sviluppatori di Chrome sia nella scheda "Console" sia in quella "Rete".
Se hai bisogno di ulteriore assistenza per la risoluzione dei problemi relativi a queste API client, consulta le nostre linee guida per il debug dell'API Attribution Reporting e dell'API Private Aggregation + Shared Storage.
Risolvere i problemi relativi alla configurazione dell'origine report
Il server di origine dei report è il luogo in cui hai dichiarato gli endpoint .well-known
corrispondenti corretti a cui verranno inviati i report aggregabili. Verifica che il server di origine dei report di cui è stato eseguito il deployment sia stato registrato e attivato correttamente.
L'origine report riceve i report?
Verifica che il server di origine dei report di cui è stato eseguito il deployment sia stato registrato e attivato correttamente. In questo server hai dichiarato gli endpoint .well-known
corrispondenti corretti a cui verranno inviati i report aggregabili.
API di misurazione lato client | Endpoint aggregabile corrispondente |
---|---|
Attribution Reporting | POST /.well-known/attribution-reporting/report-aggregate-attribution |
Private Aggregation + Shared Storage (combo) | POST /.well-known/private-aggregation/report-shared-storage |
Aggregazione privata + Protected Audience (combo) | POST /.well-known/private-aggregation/report-protected-audience |
Dopo aver verificato che il server di origine sia stato registrato correttamente, completa i seguenti passaggi:
Controlla come attivi i report. Verifica di ricevere il formato del report corretto in base all'API utilizzata:
Se attivi i report come consigliato, ma il problema persiste, controlla se sono stati rilevati errori nella Console per gli sviluppatori di Chrome sia nella scheda "Console" sia in quella "Rete".
Se hai bisogno di ulteriore assistenza per la risoluzione dei problemi relativi a queste API client , consulta le linee guida per il debug dell'API Attribution Reporting e dell'API Private Aggregation + Shared Storage.
Risolvere i problemi relativi ai report aggregati
I report aggregati vengono generati dalle API di misurazione lato client e inviati alla tua origine report. Questi report devono essere convertiti in formato AVRO
dall'endpoint per i report. Se si verificano problemi con questa conversione o se i report stessi non sono integri, potresti visualizzare errori nel servizio di aggregazione.
I report aggregabili vengono convertiti correttamente?
Verifica che l'endpoint dei report (.well-known/…
) converta correttamente il report JSON aggregabile in AVRO
.
Gli errori dell'API che potrebbero verificarsi a causa di questo problema sono i seguenti:
Errore | DECRYPTION_ERROR |
---|---|
Esempio |
"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": []
}
}
|
Assegno |
Ciò può verificarsi a causa di errori di decrittografia, che possono essere causati da report AVRO non generati correttamente, che si tratti di report AVRO aggregabili o del dominio di output AVRO. I report AVRO aggregabili vengono generati correttamente? Il payload dovrà essere decodificato in base64 e convertito in un array di byte. Assicurati che il report sia in formato Avro. Inoltre, controlla che il dominio di output AVRO sia corretto. I bucket vengono convertiti in formato esadecimale Unicode con escape e poi in un array di byte.
Se viene visualizzato più di un conteggio degli errori, puoi scoprire di più sugli errori nella pagina GitHub del servizio di aggregazione.
|
Errore | DECRYPTION_KEY_NOT_FOUND |
---|---|
Esempio |
"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": []
}
}
|
Assegno |
API Attribution Reporting
Per l'API Attribution Reporting, questo errore potrebbe essere causato da un problema con la registrazione dell'attivatore. Verifica che l'utente abbia registrato l'attivatore con il cloud corretto utilizzando il campo aggregation_coordinator_origin (istruzioni qui). Potresti anche fornire report criptati con AWS per il deployment di Aggregation Service su Google Cloud o report criptati con Google Cloud per il deployment su AWS. Chiedi di convalidare quale endpoint della chiave pubblica è stato utilizzato per criptare i report aggregabili. Per Google Cloud, il campo "aggregation_coordinator_origin" nel report aggregabile deve essere https://publickeyservice.msmt.gcp.privacysandboxservices.com. Per AWS, è https://publickeyservice.msmt.aws.privacysandboxservices.com. API Private AggregationPer l'API Private Aggregation, dovrai definire "aggregationCoordinatorOrigin" utilizzando l'esempio nella sezione Scelta del coordinatore dell'aggregazione della spiegazione dell'API Private Aggregation. Specifica https://publickeyservice.msmt.gcp.privacysandboxservices.com come Ad esempio:
sharedStorage.run('someOperation', {'privateAggregationConfig':
{'aggregationCoordinatorOrigin': ' https://publickeyservice.msmt.gcp.privacysandboxservices.com'}});
|
Errore | DECRYPTION_KEY_FETCH_ERROR |
---|---|
Esempio |
"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."
}
]
}
}
|
Assegno | In caso di problemi con i file binari non approvati o con la modalità di debug, il problema verrà risolto utilizzando il file binario corretto. Segui le istruzioni riportate qui per utilizzare un'AMI predefinita o crearla autonomamente. |
Per verificare:
Puoi utilizzare lo strumento
aggregatable_report_converter
per convertire i report aggregabili raccolti dall'endpoint .well-known in AVRO e creare le chiavi del dominio di output. Nota: i file di dominio di output devono essere una stringa di byte big endian di 16 byte.Segui i passaggi del codelab per il tuo provider cloud pubblico per raccogliere i report di debug ed eseguire un job del servizio di aggregazione utilizzando le chiavi del dominio di output: a. Google Cloud: segui i passaggi da 3.1.2 a 3.2.3 del Codelab Google Cloud per il servizio di aggregazione. Amazon Web Services: segui i passaggi da 4.2 a 5.3 del Codelab AWS per il servizio di aggregazione.
Se viene restituita una risposta SUCCESS
, la conversione funziona.
I report aggregabili sono intatti?
Verifica che il report aggregato, le chiavi di dominio di output e le informazioni condivise siano intatte. Per ulteriori informazioni, consulta i codici di esempio per convertire i report aggregabili e creare file di dominio.
Di seguito sono riportati gli errori dell'API che potresti visualizzare e che corrispondono a questo problema:
Errore | INPUT_DATA_READ_FAILED |
---|---|
Endpoint | createJob |
Assegno |
I campi input_data_bucket_name , input_data_blob_prefix , output_data_bucket_name e output_data_blob_prefix nella richiesta createJob sono corretti? La posizione dei dati dei report di input contiene i report da elaborare? Hai l'autorizzazione per leggere dalla posizione di archiviazione dei report e del dominio di output?
|
Per verificare:
Verifica il report aggregato:
- Genera report aggregati e utilizza lo strumento
aggregatable_report_converter
per convertire il dominio di output in formatoAVRO
. - Esegui una richiesta
createJob
con questo report aggregabile e il file di dominio di output. - Se viene restituito
SUCCESS
, significa che il report aggregabile è intatto. Se viene restituito un errore, significa che hai un problema con il report aggregabile o con il report e il dominio. - Procedi controllando il file del dominio nel passaggio successivo.
- Genera report aggregati e utilizza lo strumento
Verifica il file del dominio di output:
- Genera il file del dominio di output e utilizza lo strumento
aggregatable_report_converter
per creare il report aggregabile. - Esegui una richiesta
createJob
con questo report aggregabile e il file del dominio di output. - Se viene restituito
SUCCESS
, significa che il dominio di output è intatto e che c'è un problema con il codice per creare il report aggregabile. - Vai al passaggio successivo per controllare
shared_info
.
- Genera il file del dominio di output e utilizza lo strumento
Verifica le informazioni condivise:
- Assicurati di aver attivato i report di debug. I report con il debug abilitato avranno un
debug_cleartext_payload
campo disponibile. - Crea un report di debug da utilizzare con lo strumento di test locale e utilizza
debug_cleartext_payload
come payload. - Esegui lo strumento di test locale con il file del tuo dominio. Se si tratta di un messaggio
SUCCESS
, significa che il fileshared_info
è stato manomesso.
- Assicurati di aver attivato i report di debug. I report con il debug abilitato avranno un
Se sospetti ulteriori errori o manomissioni, raccogli il report aggregato JSON, la chiave del dominio, il report AVRO
aggregato generato e il dominio di output, quindi vai ai passaggi successivi.
Controlla la nuova versione di deployment
Verifica che la tua versione di Aggregation Service sia ancora supportata. Una volta individuata la versione in uso, controlla l'elenco delle release del servizio di aggregazione e verifica che la tua versione non presenti l'avviso relativo al ritiro del supporto:
This release has reached its end of support on { date }
. Le seguenti istruzioni per determinare la versione di cui è stato eseguito il deployment sono valide per i cloud pubblici supportati.
Procedura per Google Cloud
- Vai a Compute Engine > Istanze VM.
- Fai clic sull'istanza della macchina virtuale con
-worker-
nel nome. - Individua la sezione
Custom Metadata
e poi la chiavetee-image-reference
.- Nota: ogni VM di cui è stato eseguito il provisioning in Google Cloud da Terraform deve avere questi metadati (metadati
tee-image-reference
nel modulo worker).
- Nota: ogni VM di cui è stato eseguito il provisioning in Google Cloud da Terraform deve avere questi metadati (metadati
- Il valore di
tee-image-reference
conterrà il numero di versione. Ad esempio, il numero di versione del seguente percorso èv2.9.1
. Si tratta di immagini predefinite che si trovano in Artifact Registry di un progetto Google Cloud.- Nota: questo valore è pertinente se utilizzi gli asset predefiniti. In caso contrario, deve corrispondere al nome e ai tag che hai assegnato personalmente all'immagine.
(ad es.
us.docker.pkg.dev/<gcp_project_name>/artifacts:aggregation-service- container-artifacts-worker_mp_go_prod:2.9.1
)
- Nota: questo valore è pertinente se utilizzi gli asset predefiniti. In caso contrario, deve corrispondere al nome e ai tag che hai assegnato personalmente all'immagine.
(ad es.
Passaggi per Amazon Web Services
- Vai a Istanze EC2 nella console Amazon Web Services.
- Fai clic sull'istanza con il nome
aggregation-service-operator-dev-env
. - Nella pagina dell'istanza, vai a Dettagli > AMI (Amazon Machine Image)
- Il nome della versione deve essere incluso nel percorso dell'immagine. Ad esempio, il
numero di versione del seguente percorso è
v2.9.1
.- Nota: questo valore è pertinente se utilizzi gli asset predefiniti. In caso contrario, deve corrispondere al nome e ai tag che hai assegnato personalmente all'immagine.
(ad es.
aggregation-service-enclave_2.9.1--2024-10-03T01-24-25Z
)
- Nota: questo valore è pertinente se utilizzi gli asset predefiniti. In caso contrario, deve corrispondere al nome e ai tag che hai assegnato personalmente all'immagine.
(ad es.
Passaggi successivi
Se non riesci a risolvere il problema relativo al servizio di aggregazione, comunicacelo inviando un problema GitHub o compilando il modulo di assistenza tecnica.