Toplama Hizmeti ile çalışırken rapor biçimlendirme, çıkış alanı sorunları ve koordinatör sorunları gibi birçok faktör sorunlara neden olabilir. Sorunu doğru şekilde teşhis etmek için hata kaynağını ve içerdiği meta verileri anlamak önemlidir.
Rehberdeki konular:
- İstemci ölçümü API kurulumunu doğrulama
- Raporlama kaynağı kurulumunuzla ilgili sorunları giderme
- Toplu raporlarınızla ilgili sorunları giderme
- Dağıtım sürümünüzü inceleme
İstemci ölçümü API kurulumunu doğrulama
Kaynak sunucunuzun düzgün şekilde kaydedildiğini doğruladıktan sonra aşağıdaki adımları tamamlayın:
Raporları nasıl tetiklediğinizi kontrol edin. Kullanılan API'ye göre doğru rapor biçimini aldığınızı onaylayın:
- Attribution Reporting API
- Attribution Reporting API için kaynağı (Etkinlik ve Özet) başarıyla kaydettiğinizi doğrulayın. Tetikleyici kaydı (Event ve Summary) gerçekleştirmek için üstbilgi doğrulama aracını kullanarak
Attribution-Reporting-Register-Triggeriçine iletilen JSON'un doğru olduğunu doğrulayın. (Attribution Reporting API Özet Raporları hakkında daha fazla bilgi edinin.)
- Attribution Reporting API için kaynağı (Etkinlik ve Özet) başarıyla kaydettiğinizi doğrulayın. Tetikleyici kaydı (Event ve Summary) gerçekleştirmek için üstbilgi doğrulama aracını kullanarak
- Private Aggregation API
- Private Aggregation API'deki raporlama,
contributeToHistogramişlevi kullanılarak tamamlanabilir. Grup anahtarını ve değerini ilettiğinizi doğrulayın. Paket anahtarı,BigIntbiçiminde olmalıdır. (Private Aggregation API hakkında daha fazla bilgi edinin.)
- Private Aggregation API'deki raporlama,
- Attribution Reporting API
Raporları önerildiği şekilde tetikliyorsanız ancak sorun devam ediyorsa hem "Konsol" hem de "Ağ" sekmesinde Chrome Geliştirici Konsolu'nda gözlemlenen hatalar olup olmadığını kontrol edin.
Bu istemci API'leriyle ilgili daha fazla sorun giderme desteğine ihtiyacınız varsa Attribution Reporting API için hata ayıklama kılavuzumuza ve Private Aggregation API + Shared Storage'a göz atın.
Raporlama kaynağı kurulumunuzla ilgili sorunları giderme
Raporlama kaynağı sunucusu, doğru karşılık gelen .well-known uç noktaları bildirdiğiniz yerdir. Toplanabilir raporlar bu uç noktalara gönderilir. Dağıtılan raporlama kaynağı sunucunuzun düzgün şekilde kaydedildiğini ve tescil edildiğini doğrulayın.
Raporlama kaynağınız rapor alıyor mu?
Dağıtılan raporlama kaynak sunucunuzun düzgün şekilde kaydedildiğini ve tescil edildiğini doğrulayın. Bu sunucu, toplanabilir raporların gönderileceği doğru .well-known uç noktalarını beyan ettiğiniz yerdir.
| İstemci tarafı Measurement API'si | Eşleşen toplanabilir uç nokta |
|---|---|
| Attribution Reporting | POST /.well-known/attribution-reporting/report-aggregate-attribution |
| Private Aggregation + Shared Storage (Combo) | POST /.well-known/private-aggregation/report-shared-storage |
| Private Aggregation + Protected Audience (Combo) | POST /.well-known/private-aggregation/report-protected-audience |
Kaynak sunucunuzun düzgün şekilde kaydedildiğini doğruladıktan sonra aşağıdaki adımları tamamlayın:
Raporları nasıl tetiklediğinizi kontrol edin. Kullanılan API'ye göre doğru rapor biçimini aldığınızı onaylayın:
Raporları önerildiği şekilde tetikliyorsanız ancak sorun devam ediyorsa hem "Konsol" hem de "Ağ" sekmesinde Chrome Geliştirici Konsolu'nda gözlemlenen hatalar olup olmadığını kontrol edin.
Bu istemci API'leriyle ilgili daha fazla sorun giderme desteğine ihtiyacınız varsa Attribution Reporting API için hata ayıklama kılavuzunu ve Private Aggregation API + Shared Storage'ı incelemeye devam edin.
Toplu raporlarınızla ilgili sorunları giderme
Toplu raporlar, istemci tarafı ölçüm API'leri tarafından oluşturulur ve raporlama kaynağınıza gönderilir. Bu raporlar, raporlama uç noktanız tarafından AVRO biçimine dönüştürülmelidir. Bu dönüşümle ilgili sorunlar varsa veya raporların kendisi eksiksiz değilse Toplama Hizmeti'nde hatalar görebilirsiniz.
Toplanabilir raporlarınız doğru şekilde dönüşüm gerçekleştiriyor mu?
Raporlama uç noktanızın (.well-known/…) verilen toplanabilir JSON raporunu doğru şekilde AVRO biçimine dönüştürdüğünü doğrulayın.
Bu sorundan kaynaklanan API hataları şunlardır:
| Hata | DECRYPTION_ERROR |
|---|---|
| Örnek |
"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": []
}
}
|
| Kontrol Et |
Bu durum, AVRO raporlarının (toplanabilir AVRO raporları veya çıkış alanı AVRO'su) doğru şekilde oluşturulmamasından kaynaklanabilen şifre çözme hataları nedeniyle oluşabilir. Toplanabilir AVRO raporları doğru şekilde oluşturuluyor mu? Yükün base64 kodu çözülmeli ve bayt dizisine dönüştürülmelidir. Raporun avro biçiminde olduğunu doğrulayın. Ayrıca, çıkış alanının AVRO doğru olup olmadığını kontrol edin. Gruplar, kaçış karakterli Unicode onaltılık biçimine, ardından da bayt dizisine dönüştürülür.
Birden fazla hata sayısı görürseniz hatalar hakkında daha fazla bilgiyi Toplama Hizmeti GitHub sayfasında bulabilirsiniz.
|
| Hata | DECRYPTION_KEY_NOT_FOUND |
|---|---|
| Örnek |
"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": []
}
}
|
| Kontrol Et |
Attribution Reporting API
Attribution Reporting API'de bu hataya tetikleyici kaydıyla ilgili bir sorun neden olabilir. aggregation_coordinator_origin alanını kullanarak tetikleyicilerini doğru bulutla kaydettiklerini doğrulayın (talimatlar burada). Ayrıca, AWS ile şifrelenmiş raporları Toplama Hizmeti'nin Google Cloud dağıtımına veya Google Cloud ile şifrelenmiş raporları AWS dağıtımına da sağlıyor olabilirsiniz. Kullanıcıdan, toplanabilir raporları şifrelemek için hangi ortak anahtar uç noktasının kullanıldığını doğrulamasını isteyin. Google Cloud için toplanabilir rapordaki `aggregation_coordinator_origin` alanı https://publickeyservice.msmt.gcp.privacysandboxservices.com olmalıdır. AWS için ise https://publickeyservice.msmt.aws.privacysandboxservices.com olmalıdır. Private Aggregation APIPrivate Aggregation API için, Private Aggregation API açıklayıcısındaki Toplama koordinatörü seçimi bölümündeki örneği kullanarak `aggregationCoordinatorOrigin` öğesini tanımlamanız gerekir. Lütfen Örneğin:
sharedStorage.run('someOperation', {'privateAggregationConfig':
{'aggregationCoordinatorOrigin': ' https://publickeyservice.msmt.gcp.privacysandboxservices.com'}});
|
| Hata | DECRYPTION_KEY_FETCH_ERROR |
|---|---|
| Örnek |
"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."
}
]
}
}
|
| Kontrol Et | Onaylanmamış ikili veya hata ayıklama modu sorunları durumunda, doğru ikiliyi kullanmak sorunu düzeltir. Önceden oluşturulmuş AMI'yi kullanmak veya AMI'nizi kendiniz oluşturmak için buradaki talimatları uygulayın. |
Doğrulama için aşağıdaki adımları tamamlayın:
.well-known uç noktasından topladığınız toplanabilir raporları AVRO'ya dönüştürmek ve çıkış alanı anahtarlarını oluşturmak için
aggregatable_report_converteraracını kullanabilirsiniz. (Not: Çıkış alanı dosyaları 16 baytlık büyük endian bayt dizisi olmalıdır.)Herkese açık bulut sağlayıcınız için codelab'deki adımları uygulayarak hata ayıklama raporlarınızı toplayın ve çıkış alanı anahtarlarınızı kullanarak bir toplama hizmeti işi çalıştırın: a. Google Cloud: Aggregation Service Google Cloud Codelab'in 3.1.2 ile 3.2.3 arasındaki adımlarını uygulayın. b. Amazon Web Services: Aggregation Service AWS Codelab'in 4.2 ila 5.3 arasındaki adımlarını uygulayın.
Bu işlem SUCCESS yanıtını verirse dönüşümünüz çalışıyor demektir.
Toplanabilir raporlarınız bozulmamış mı?
Toplu raporunuzun, çıkış alanı anahtarlarınızın ve paylaşılan bilgilerinizin eksiksiz olduğunu doğrulayın. Daha fazla bilgi edinmek isterseniz toplanabilir raporları dönüştürmek ve alan dosyaları oluşturmak için örnek kodlara bakın.
Bu sorunla ilgili olarak görebileceğiniz API hataları şunlardır:
| Hata | INPUT_DATA_READ_FAILED |
|---|---|
| Uç nokta | createJob |
| Kontrol Et |
createJob isteğindeki input_data_bucket_name, input_data_blob_prefix, output_data_bucket_name ve output_data_blob_prefix alanı doğru mu? Giriş raporu veri konumunda işlenecek raporlar var mı? Raporlar ve çıkış alanı için depolama konumundan okuma izniniz var mı?
|
Doğrulama için aşağıdaki adımları tamamlayın:
Toplu raporu doğrulama:
- Toplu raporlar oluşturun ve çıkış alanını
AVRObiçimine dönüştürmek içinaggregatable_report_converteraracını kullanın. - Bu toplanabilir rapor ve çıkış alanı dosyasıyla bir
createJobisteği çalıştırın. - Bu işlev
SUCCESSdeğerini döndürürse toplanabilir raporun bozulmamış olduğu anlamına gelir. Bu işlem hata döndürürse toplu raporunuzda veya hem rapor hem de alanınızda sorun vardır. - Sonraki adımda alan dosyasını kontrol etmeye devam edin.
- Toplu raporlar oluşturun ve çıkış alanını
Çıkış alanı dosyasını doğrulayın:
- Çıkış alanı dosyası oluşturun ve toplanabilir raporu oluşturmak için
aggregatable_report_converteraracını kullanın. - Bu toplanabilir rapor ve çıkış alanı dosyasıyla bir
createJobisteği çalıştırın. - Bu işlem
SUCCESSdeğerini döndürürse çıkış alanının bozulmamış olduğu ve toplanabilir raporu oluşturmak için kullandığınız kodda bir sorun olduğu anlamına gelir. shared_infokontrol etmek için sonraki adıma geçin.
- Çıkış alanı dosyası oluşturun ve toplanabilir raporu oluşturmak için
Paylaşılan bilgileri doğrulayın:
- Hata ayıklama etkin raporlarınız olduğunu doğrulayın. Hata ayıklama etkinleştirilmiş raporlarda
debug_cleartext_payloadalanı bulunur. - Yerel test aracıyla kullanılmak üzere bir hata ayıklama raporu oluşturun ve yük olarak
debug_cleartext_payloadkullanın. - Yerel test aracını alan dosyanızla birlikte çalıştırın. Bu bir
SUCCESSiseshared_infodosyanızın değiştirildiği anlamına gelir.
- Hata ayıklama etkin raporlarınız olduğunu doğrulayın. Hata ayıklama etkinleştirilmiş raporlarda
Başka hatalar veya kurcalama olduğundan şüpheleniyorsanız JSON toplu raporunu, alan anahtarını, oluşturulan toplu AVRO raporunu ve çıkış alanını toplayın ve sonraki adımlara geçin.
Yeni dağıtım sürümünüzü inceleme
Toplama Hizmeti sürümünüzün hâlâ desteklendiğini doğrulayın. Hangi sürümü kullandığınızı belirledikten sonra Toplama Hizmeti yayınları listesini kontrol edin ve sürümünüzde destek sonu uyarısının bulunmadığını doğrulayın:
This release has reached its end of support on { date }. Hangi sürümü dağıttığınızı belirlemeyle ilgili aşağıdaki talimatlar, desteklenen genel bulutlar içindir.
Google Cloud için adımlar
- Compute Engine > VM instances'a (Sanal makine örnekleri) gidin.
- Adında
-worker-bulunan sanal makine örneğini tıklayın. Custom Metadatabölümünü bulun ve ardından anahtarıtee-image-referencebulun.- Not: Terraform tarafından Google Cloud'da sağlanan her VM'de bu meta veriler (
tee-image-referenceworker modülündeki meta veriler) bulunmalıdır.
- Not: Terraform tarafından Google Cloud'da sağlanan her VM'de bu meta veriler (
tee-image-referencedeğerinde sürüm numarası yer alır. Örneğin, aşağıdaki yolun sürüm numarasıv2.9.1'dır. Bunlar, Google Cloud projesinin Artifact Registry'sinde bulunan önceden oluşturulmuş görüntülerdir.- Not: Bu, önceden oluşturulmuş öğeleri kullanıyorsanız geçerlidir. Aksi takdirde, bu alan, resminize kişisel olarak verdiğiniz ad ve etiketle eşleşmelidir.
(örnek:
us.docker.pkg.dev/<gcp_project_name>/artifacts:aggregation-service- container-artifacts-worker_mp_go_prod:2.9.1)
- Not: Bu, önceden oluşturulmuş öğeleri kullanıyorsanız geçerlidir. Aksi takdirde, bu alan, resminize kişisel olarak verdiğiniz ad ve etiketle eşleşmelidir.
(örnek:
Amazon Web Services için adımlar
- Amazon Web Services konsolunuzda EC2 Instances'a (EC2 örnekleri) gidin.
aggregation-service-operator-dev-envadlı örneği tıklayın.- Örnek sayfasında Ayrıntılar > AMI (Amazon Machine Image) bölümünü bulun.
- Sürüm adınız, resim yoluna dahil edilmelidir. Örneğin, aşağıdaki yolun sürüm numarası
v2.9.1'dır.- Not: Bu, önceden oluşturulmuş öğeleri kullanıyorsanız geçerlidir. Aksi takdirde, bu alan, resminize kişisel olarak verdiğiniz ad ve etiketle eşleşmelidir.
(örnek:
aggregation-service-enclave_2.9.1--2024-10-03T01-24-25Z)
- Not: Bu, önceden oluşturulmuş öğeleri kullanıyorsanız geçerlidir. Aksi takdirde, bu alan, resminize kişisel olarak verdiğiniz ad ve etiketle eşleşmelidir.
(örnek:
Sonraki Adımlar
Toplama hizmeti sorununuzun çözüldüğünü görmüyorsanız GitHub'da sorun bildirerek veya teknik destek formunu göndererek bizi bilgilendirin.