Ortamınızı teşhis etme (yeni veya yükseltilmiş)

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

Kaynak sunucunuzun düzgün şekilde kaydedildiğini doğruladıktan sonra aşağıdaki adımları tamamlayın:

  1. 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
    • Private Aggregation API
      • Private Aggregation API'deki raporlama, contributeToHistogram işlevi kullanılarak tamamlanabilir. Grup anahtarını ve değerini ilettiğinizi doğrulayın. Paket anahtarı, BigInt biçiminde olmalıdır. (Private Aggregation API hakkında daha fazla bilgi edinin.)
  2. 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:

  1. Raporları nasıl tetiklediğinizi kontrol edin. Kullanılan API'ye göre doğru rapor biçimini aldığınızı onaylayın:

  2. 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 API

Private 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 aggregationCoordinatorOrigin olarak https://publickeyservice.msmt.gcp.privacysandboxservices.com adresini belirtin.

Ö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:

  1. .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_converter aracını kullanabilirsiniz. (Not: Çıkış alanı dosyaları 16 baytlık büyük endian bayt dizisi olmalıdır.)

  2. 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:

  1. Toplu raporu doğrulama:

    • Toplu raporlar oluşturun ve çıkış alanını AVRO biçimine dönüştürmek için aggregatable_report_converter aracını kullanın.
    • Bu toplanabilir rapor ve çıkış alanı dosyasıyla bir createJob isteği çalıştırın.
    • Bu işlev SUCCESS değ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.
  2. Çıkış alanı dosyasını doğrulayın:

    • Çıkış alanı dosyası oluşturun ve toplanabilir raporu oluşturmak için aggregatable_report_converter aracını kullanın.
    • Bu toplanabilir rapor ve çıkış alanı dosyasıyla bir createJob isteği çalıştırın.
    • Bu işlem SUCCESS değ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_info kontrol etmek için sonraki adıma geçin.
  3. 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_payload alanı bulunur.
    • Yerel test aracıyla kullanılmak üzere bir hata ayıklama raporu oluşturun ve yük olarak debug_cleartext_payload kullanın.
    • Yerel test aracını alan dosyanızla birlikte çalıştırın. Bu bir SUCCESS ise shared_info dosyanızın değiştirildiği anlamına gelir.

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

  1. Compute Engine > VM instances'a (Sanal makine örnekleri) gidin.
  2. Adında -worker- bulunan sanal makine örneğini tıklayın.
  3. Custom Metadata bölümünü bulun ve ardından anahtarı tee-image-reference bulun.
  4. tee-image-reference değ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)

Amazon Web Services için adımlar

  1. Amazon Web Services konsolunuzda EC2 Instances'a (EC2 örnekleri) gidin.
  2. aggregation-service-operator-dev-env adlı örneği tıklayın.
  3. Örnek sayfasında Ayrıntılar > AMI (Amazon Machine Image) bölümünü bulun.
  4. 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)

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.