1. Ön koşullar
Bu Codelab'i tamamlamak için birkaç ön koşulu karşılamanız gerekir. Her şart, "Yerel Test" veya "Toplama Hizmeti" için gerekli olup olmadığına göre işaretlenir.
1.1. Yerel Test Aracı'nı indirme (Yerel Test)
Yerel test için Yerel Test Aracı'nın indirilmesi gerekir. Araç, şifrelenmemiş hata ayıklama raporlarından özet raporlar oluşturur.
Yerel test aracı, GitHub'daki Lambda JAR Arşivleri'nden indirilebilir. Dosya LocalTestingTool_{version}.jar
olarak adlandırılmalıdır.
1.2. JAVA JRE'nin yüklü olduğundan emin olun (Yerel Test ve Toplama Hizmeti)
"Terminal"i açın ve makinenizde Java veya openJDK'nın yüklü olup olmadığını kontrol etmek için java --version
simgesini kullanın.
Yüklü değilse Java sitesinden veya openJDK sitesinden indirip yükleyebilirsiniz.
1.3. Toplanabilir Rapor Dönüştürücü'yü (Yerel Test ve Toplama Hizmeti) indirme
Toplanabilir rapor dönüştürücünün bir kopyasını Privacy Sandbox Demos Github deposundan indirebilirsiniz.
1.4. Reklam Gizliliği API'lerini (Yerel Test ve Toplama Hizmeti) etkinleştirme
Tarayıcınızda chrome://settings/adPrivacy
adresine gidin ve tüm Reklam Gizliliği API'lerini etkinleştirin.
Üçüncü taraf çerezlerinin etkinleştirildiğinden emin olun.
Tarayıcınızda chrome://settings/cookies
simgesine gidip "Gizli modda üçüncü taraf çerezlerini engelle"yi seçin.
1.5. Web ve Android kaydı (Aggregation Service)
Özel Korumalı Alan API'lerini üretim ortamında kullanmak için hem Chrome hem de Android için kayıt ve doğrulama işlemlerini tamamladığınızdan emin olun.
Yerel test için kayıt, Chrome işareti ve KSA anahtarı kullanılarak devre dışı bırakılabilir.
Chrome işaretini demomuzda kullanmak için chrome://flags/#privacy-sandbox-enrollment-overrides
adresine gidip geçersiz kılma işlemini sitenizle güncelleyin. Demo sitemizi kullanacaksanız güncelleme gerekmez.
1.6. Aggregation Service ilk katılımı (Aggregation Service)
Toplama Hizmeti'nin kullanılabilmesi için koordinatörlerin oryantasyon eğitimini tamamlaması gerekir. Raporlama sitenizin adresini, AWS hesap kimliğinizi ve diğer bilgileri sağlayarak Toplama Hizmeti İlk Kayıt Formu'nu doldurun.
1.7. Bulut sağlayıcı (Aggregation Service)
Toplama Hizmeti, bulut ortamı kullanan bir Güvenilir Yürütme Ortamı'nın kullanılmasını gerektirir. Toplama hizmeti Amazon Web Services (AWS) ve Google Cloud (GCP)'de desteklenir. Bu Codelab yalnızca AWS entegrasyonunu kapsar.
AWS, Nitro Enclaves adlı bir Güvenilir Yürütme Ortamı sağlar. AWS hesabınız olduğundan emin olun ve AWS CLI ortamınızı ayarlamak için AWS CLI yükleme ve güncelleme talimatlarını uygulayın.
AWS CLI'niz yeniyse CLI Yapılandırma talimatlarını kullanarak AWS CLI'nizi yapılandırabilirsiniz.
1.7.1. AWS S3 paketi oluşturma
Terraform durumunu depolamak için bir AWS S3 paketi ve raporlarınızı ve özet raporlarınızı depolamak için başka bir S3 paketi oluşturun. Sağlanan CLI komutunu kullanabilirsiniz. <>
alanındaki alanı uygun değişkenlerle değiştirin.
aws s3api create-bucket --bucket <tf_bucket_name> --region us-east-1
aws s3api create-bucket --bucket <report_bucket_name> --region us-east-1
1.7.2. Kullanıcı erişim anahtarı oluşturma
AWS kılavuzunu kullanarak kullanıcı erişim anahtarları oluşturun. Bu, AWS'de oluşturulan createJob
ve getJob
API uç noktalarını çağırmak için kullanılır.
1.7.3. AWS kullanıcı ve grup izinleri
AWS'de toplama hizmetini dağıtmak için hizmeti dağıtmak amacıyla kullanılan kullanıcıya belirli izinler vermeniz gerekir. Bu Codelab'de, dağıtımda tam izinlere sahip olmak için kullanıcının Yönetici Erişimi'ne sahip olduğundan emin olun.
1.8. Terraform (Aggregation Service)
Bu Codelab'de, toplama hizmetini dağıtmak için Terraform kullanılır. Terraform ikili dosyasının yerel ortamınıza yüklendiğinden emin olun.
Terraform ikili programını yerel ortamınıza indirin.
Terraform ikili dosyası indirildikten sonra dosyayı açın ve Terraform ikili dosyasını /usr/local/bin
konumuna taşıyın.
cp <directory>/terraform /usr/local/bin
Terraform'un sınıf yolu üzerinde bulunduğundan emin olun.
terraform -v
1.9. Postman (Aggregation Service AWS için)
Bu Codelab'de istek yönetimi için Postman'ı kullanın.
Üst gezinme menüsündeki "Çalışma Alanları"na gidip "Çalışma Alanı Oluştur"u seçerek bir çalışma alanı oluşturun.
"Boş çalışma alanı"nı seçin, İleri'yi tıklayın ve çalışma alanına "Gizlilik korumalı alan" adını verin. "Kişisel"i seçin ve "Oluştur"u tıklayın.
Önceden yapılandırılmış çalışma alanı JSON yapılandırmasını ve Küresel Ortam dosyalarını indirin.
"İçe Aktar" düğmesini kullanarak JSON dosyalarını "Çalışma Alanım"a aktarın.
Bu işlem, createJob
ve getJob
HTTP istekleriyle birlikte Özel Korumalı Alan koleksiyonunu sizin için oluşturur.
"Ortama hızlı bakış" üzerinden AWS "Erişim Anahtarı"nı ve "Gizli Anahtarı" güncelleyin.
"Düzenle"yi tıklayın ve hem "access_key" hem de "secret_key" için "Mevcut Değer"i güncelleyin. frontend_api_id
değerinin bu dokümanın 3.1.4 numaralı bölümünde sağlanacağını unutmayın. Ayrıca us-east-1 bölgesini kullanmanızı öneririz. Ancak farklı bir bölgede dağıtmak istiyorsanız yayınlanan AMI'yi hesabınıza kopyaladığınızdan veya sağlanan komut dosyalarını kullanarak kendi kendinize derleme yaptığınızdan emin olun.
2. Yerel Test Codelab'i
Şifrelenmemiş hata ayıklama raporlarını kullanarak toplama işlemi yapmak ve özet raporlar oluşturmak için makinenizdeki yerel test aracını kullanabilirsiniz.
Codelab Adımları
2.1. adım. Raporu tetikle: Raporu toplayabilmek için Gizli Toplama raporlamasını tetikleyin.
2.2. adım. Toplanan JSON raporunu AVRO biçimli bir rapora dönüştürerek hata ayıklama için birleştirilebilir rapor oluşturun.
Bu adım, reklam teknolojilerinin API raporlama uç noktalarından raporları toplayıp JSON raporları AVRO biçimli raporlara dönüştürmesine benzer.
2.3. adım. Hata ayıklama raporundan paket anahtarını ayrıştırın: Paket anahtarları reklam teknolojileri tarafından tasarlanır. Bu kod laboratuvarında, paketler önceden tanımlandığından paket anahtarlarını sağlandığı şekilde alın.
2.4. adım. Çıkış alanı AVRO dosyasını oluşturun: Paket anahtarları alındıktan sonra çıkış alanı AVRO dosyasını oluşturun.
2.5. adım. Yerel test aracını kullanarak özet raporlar oluşturma: Yerel ortamda özet rapor oluşturmak için yerel test aracını kullanın.
2.6. adım. Özet raporu inceleyin: Yerel Test Aracı tarafından oluşturulan özet raporu inceleyin.
2.1. Tetikleyici raporu
Privacy Sandbox demo sitesine gidin. Bu işlem, gizli bir toplama raporunu tetikler. Raporu chrome://private-aggregation-internals
adresinden görüntüleyebilirsiniz.
Raporunuz "Beklemede" durumundaysa raporu seçip "Seçilen Raporları Gönder"i tıklayabilirsiniz.
2.2. Toplanabilir hata ayıklama raporu oluşturma
chrome://private-aggregation-internals
içinde, [reporting-origin]/.well-known/private-aggregation/report-shared-storage
uç noktasında alınan "Rapor Gövdesi"ni kopyalayın.
"Rapor Gövdesi" bölümündeki aggregation_coordinator_origin
öğesinin https://publickeyservice.msmt.aws.privacysandboxservices.com
içerdiğinden emin olun. Bu, raporun AWS'de toplanabilir bir rapor olduğu anlamına gelir.
JSON "Rapor İçeriği"ni bir JSON dosyasına yerleştirin. Bu örnekte vim'i kullanabilirsiniz. Ancak istediğiniz metin düzenleyiciyi kullanabilirsiniz.
vim report.json
Raporu report.json
içine yapıştırın ve dosyanızı kaydedin.
Bu işlemi tamamladıktan sonra rapor klasörünüze gidin ve toplanabilir hata ayıklama raporu oluşturmak için aggregatable_report_converter.jar
simgesini kullanın. Bu işlem, mevcut dizininizde report.avro
adlı toplanabilir bir rapor oluşturur.
java -jar aggregatable_report_converter.jar \
--request_type convertToAvro \
--input_file report.json \
--debug
2.3. Hata ayıklama raporundan paket anahtarını ayrıştırma
Toplama Hizmeti, toplu işlem yaparken iki dosya gerektirir. Toplanabilir rapor ve çıkış alan adı dosyası. Çıkış alan dosyası, birleştirilebilir raporlardan almak istediğiniz anahtarları içerir. output_domain.avro
dosyasını oluşturmak için raporlardan alınabilecek paket anahtarlarına ihtiyacınız vardır.
Paket anahtarları, API'yi çağıran kullanıcı tarafından tasarlanır. Demo, önceden oluşturulmuş örnek paket anahtarları içerir. Demoda Özel Toplama için hata ayıklama modu etkinleştirildiğinden, paket anahtarını almak için "Rapor Gövdesi"ndeki hata ayıklama açık metin yükünü ayrıştırabilirsiniz. Ancak bu durumda, privacy sandbox demo sitesi paket anahtarlarını oluşturur. Bu site için özel toplama hata ayıklama modunda olduğundan, paket anahtarını almak için "Rapor Gövdesi"ndeki debug_cleartext_payload
öğesini kullanabilirsiniz.
Rapor gövdesinden debug_cleartext_payload
öğesini kopyalayın.
Gizli Toplama için Hata Ayıklama Yük Kodu Çözücü aracını açın ve debug_cleartext_payload
'nizi "GİRİŞ" kutusuna yapıştırın, ardından "Kod Çöz"ü tıklayın.
Sayfa, paket anahtarının ondalık değerini döndürür. Aşağıda örnek bir paket anahtarı verilmiştir.
2.4. Çıkış alanını AVRO olarak oluşturun
Paket anahtarına sahip olduğumuza göre, paket anahtarının ondalık değerini kopyalayın. Paket anahtarını kullanarak output_domain.avro
oluşturmaya devam edin.
değerini, aldığınız paket anahtarıyla değiştirdiğinizden emin olun.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
Komut dosyası, output_domain.avro
dosyasını mevcut klasörünüzde oluşturur.
2.5. Yerel Test Aracı'nı kullanarak özet raporlar oluşturma
Özet raporları oluşturmak için 1.1 Bölümü'nde indirilen LocalTestingTool_{version}.jar
dosyasını kullanacağız. Aşağıdaki komutu kullanın. LocalTestingTool_{version}.jar
değerini, LocalTestingTool için indirilen sürümle değiştirmeniz gerekir.
Yerel geliştirme ortamınızda özet rapor oluşturmak için aşağıdaki komutu çalıştırın:
java -jar LocalTestingTool_{version}.jar \
--input_data_avro_file report.avro \
--domain_avro_file output_domain.avro \
--output_directory .
Komut çalıştırıldığında aşağıdaki resme benzer bir görüntü görürsünüz. Bu işlem tamamlandığında bir rapor output.avro
oluşturulur.
2.6. Özet raporu inceleme
Oluşturulan özet rapor AVRO biçimindedir. Bunu okuyabilmek için AVRO'dan JSON biçimine dönüştürmeniz gerekir. İdeal olarak reklam teknolojisi, AVRO raporlarını JSON'a dönüştürecek şekilde kodlanmalıdır.
Codelab'imizde, AVRO raporunu JSON'a dönüştürmek için sağlanan aggregatable_report_converter.jar
aracını kullanacağız.
java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file output.avro
Bu işlem, aşağıdaki resme benzer bir rapor döndürür. Aynı dizinde oluşturulan bir output.json
raporu da eklenir.
Özet raporu incelemek için JSON dosyasını istediğiniz bir düzenleyicide açın.
3. Toplama Hizmeti dağıtımı
Toplama Hizmeti'ni dağıtmak için aşağıdaki adımları uygulayın:
3. adım: Aggregation Service Dağıtımı: Aggregation Service'i AWS'de dağıtma
3.1. adım. Toplama Hizmeti Deposunu Klonlama
3.2. adım. Önceden oluşturulmuş bağımlılıkları indirin
3.3. adım. Geliştirme ortamı oluşturma
3.4. adım. Toplama Hizmeti'ni dağıtma
3.1. Aggregation Service deposunu klonlama
Yerel ortamınızda Aggregation Service GitHub deposunu klonlayın.
git clone https://github.com/privacysandbox/aggregation-service.git
3.2. Önceden oluşturulmuş bağımlılıkları indirme
Toplama Hizmeti deposunu klonladıktan sonra, deponun Terraform klasörüne ve ilgili bulut klasörüne gidin. cloud_provider değeriniz AWS ise
bölümüne geçebilirsiniz.
cd <repository_root>/terraform/aws
içinde download_prebuilt_dependencies.sh
'i çalıştırın.
bash download_prebuilt_dependencies.sh
3.3. Geliştirme ortamı oluşturma
'te bir geliştirme ortamı oluşturun. dev
adlı bir klasör oluşturun.
mkdir dev
demo
klasörünün içeriğini dev
klasörüne kopyalayın.
cp -R demo/* dev
dev
klasörünüze taşıyın.
cd dev
main.tf
dosyanızı güncelleyin ve input
'nin dosyayı düzenlemesi için i
tuşuna basın.
vim main.tf
# işaretini kaldırarak ve paket ile anahtar adlarını güncelleyerek kırmızı kutudaki kodun yorumunu kaldırın.
AWS main.tf için:
Yorumları kaldırılmış kod aşağıdaki gibi görünmelidir.
backend "s3" {
bucket = "<tf_state_bucket_name>"
key = "<environment_name>.tfstate"
region = "us-east-1"
}
Güncellemeler tamamlandıktan sonra esc
-> :wq!
düğmesine basarak güncellemeleri kaydedin ve düzenleyiciden çıkın. Bu işlem, güncellemeleri main.tf
'e kaydeder.
Ardından example.auto.tfvars
dosyasını dev.auto.tfvars
olarak yeniden adlandırın.
mv example.auto.tfvars dev.auto.tfvars
dev.auto.tfvars
'yi güncelleyin ve input
'nin dosyayı düzenlemesi için i
tuşuna basın.
vim dev.auto.tfvars
Aşağıdaki resimde gösterilen kırmızı kutudaki alanları, Toplama Hizmeti oryantasyon, ortam ve bildirim e-postası sırasında sağlanan doğru AWS ARN parametreleriyle güncelleyin.
Güncellemeler tamamlandıktan sonra esc
-> :wq!
tuşlarına basın. Bu işlem, dev.auto.tfvars
dosyasını kaydeder ve dosya aşağıdaki resme benzer şekilde görünür.
3.4. Toplama Hizmeti'ni dağıtma
Toplama hizmetini dağıtmak için aynı klasörde
Terraform'u başlatın.
terraform init
Bu işlem, aşağıdaki resme benzer bir sonuç döndürür:
Terraform başlatıldıktan sonra Terraform yürütme planını oluşturun. Bu işlev, eklenecek kaynak sayısını ve aşağıdaki resme benzer diğer ek bilgileri döndürür.
terraform plan
Aşağıda "Plan" özetini görebilirsiniz. Bu yeni bir dağıtımsa eklenecek kaynak sayısını, değiştirilecek kaynak sayısı 0 ve kaldırılacak kaynak sayısı 0 olarak görürsünüz.
Bunu tamamladıktan sonra Terraform'u uygulamaya devam edebilirsiniz.
terraform apply
Terraform tarafından işlemlerin yapılacağını onaylamanız istendiğinde değere bir yes
girin.
terraform apply
tamamlandıktan sonra createJob
ve getJob
için aşağıdaki uç noktalar döndürülür. 1.9 numaralı bölümde Postman'da güncellemeniz gereken frontend_api_id
değeri de döndürülür.
4. Toplama Hizmeti girişi oluşturma
Toplama Hizmeti'nde toplu işlem için AVRO raporlarını oluşturmaya devam edin.
4. adım: Aggregation Service Giriş Oluşturma: Aggregation Service için toplu olarak oluşturulan Aggregation Service raporlarını oluşturun.
4.1. adım. Tetikleyici Raporu
4.2. Adım. Toplanabilir raporlar toplama
4.3. adım. Raporları AVRO'ya dönüştürme
4.4. adım. Çıkış alanını AVRO olarak oluşturun
4.1. Tetikleyici raporu
Özel Korumalı Alan demo sitesine gidin. Bu işlem, gizli bir toplama raporunu tetikler. Raporu chrome://private-aggregation-internals
adresinden görüntüleyebilirsiniz.
Raporunuz "Beklemede" durumundaysa raporu seçip "Seçilen Raporları Gönder"i tıklayabilirsiniz.
4.2. Toplanabilir raporlar toplama
Toplanabilir raporlarınızı, ilgili API'nizin .well-known
uç noktalarından toplayın.
- Private Aggregation
[reporting-origin] /.well-known/private-aggregation/report-shared-storage
- İlişkilendirme Raporları - Özet Raporu
[reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution
Bu Codelab'de rapor toplama işlemini manuel olarak gerçekleştireceksiniz. Üretimde reklam teknolojilerinin raporları programatik olarak toplayıp dönüştürmesi beklenir.
chrome://private-aggregation-internals
içinde, [reporting-origin]/.well-known/private-aggregation/report-shared-storage
uç noktasında alınan "Rapor Gövdesi"ni kopyalayın.
"Rapor Gövdesi" bölümündeki aggregation_coordinator_origin
öğesinin https://publickeyservice.msmt.aws.privacysandboxservices.com
içerdiğinden emin olun. Bu, raporun AWS'de toplanabilir bir rapor olduğu anlamına gelir.
JSON "Rapor İçeriği"ni bir JSON dosyasına yerleştirin. Bu örnekte vim'i kullanabilirsiniz. Ancak istediğiniz metin düzenleyiciyi kullanabilirsiniz.
vim report.json
Raporu report.json
içine yapıştırın ve dosyanızı kaydedin.
4.3. Raporları AVRO'ya dönüştürme
.well-known
uç noktalarından alınan raporlar JSON biçimindedir ve AVRO rapor biçimine dönüştürülmesi gerekir. JSON raporunu aldıktan sonra rapor klasörünüze gidin ve toplanabilir hata ayıklama raporu oluşturmak için aggregatable_report_converter.jar
simgesini kullanın. Bu işlem, mevcut dizininizde report.avro
adlı toplanabilir bir rapor oluşturur.
java -jar aggregatable_report_converter.jar \
--request_type convertToAvro \
--input_file report.json
4.4 Çıkış alanını AVRO olarak oluşturun
output_domain.avro
dosyasını oluşturmak için raporlardan alınabilecek paket anahtarlarına ihtiyacınız vardır.
Grup anahtarları reklam teknolojisi tarafından tasarlanır. Ancak bu durumda grup anahtarları Özel Korumalı Alan demosu sitesi tarafından oluşturulur. Bu site için özel toplama hata ayıklama modunda olduğundan, paket anahtarını almak için "Rapor Gövdesi"ndeki debug_cleartext_payload
öğesini kullanabilirsiniz.
Rapor gövdesinden debug_cleartext_payload
öğesini kopyalayın.
goo.gle/ags-payload-decoder adresini açın, debug_cleartext_payload
dosyanızı "GİRİŞ" kutusuna yapıştırın ve "Kod çöz"ü tıklayın.
Sayfa, paket anahtarının ondalık değerini döndürür. Aşağıda örnek bir paket anahtarı verilmiştir.
Paket anahtarına sahip olduğumuza göre output_domain.avro
dosyasını oluşturabilirsiniz.
değerini, aldığınız paket anahtarıyla değiştirdiğinizden emin olun.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
Komut dosyası, output_domain.avro
dosyasını mevcut klasörünüzde oluşturur.
4.5. Raporları AWS paketine taşıma
AVRO raporları (3.2.3 numaralı bölümden) ve çıkış alanı (3.2.4 numaralı bölümden) oluşturulduktan sonra raporları ve çıkış alanını raporlama S3 paketlerine taşımaya devam edin.
Yerel ortamınızda AWS CLI kuruluysa raporları ilgili S3 paketine ve rapor klasörüne kopyalamak için aşağıdaki komutları kullanın.
aws s3 cp report.avro s3://<report_bucket_name>/<report_folder>/
aws s3 cp output_domain.avro s3://<report_bucket_name>/<output_domain_folder>/
5. Toplama Hizmeti kullanımı
terraform apply
'ten create_job_endpoint
, get_job_endpoint
ve frontend_api_id
döndürülür. frontend_api_id
değerini kopyalayıp 1.9 ön koşulu bölümünde ayarladığınız Postman global değişkeni frontend_api_id
'e yerleştirin.
5. adım: Aggregation Service Kullanımı: Özet raporlar oluşturmak ve özet raporları incelemek için Aggregation Service API'yi kullanın.
5.1. adım. Gruplandırma için createJob uç noktasını kullanma
5.2. adım. Toplu iş durumunu almak için getJob uç noktasını kullanma
5.3. adım. Özet raporu inceleme
5.1. Gruplandırma için createJob
uç noktasını kullanma
Postman'da "Privacy Sandbox" koleksiyonunu açıp "createJob"u seçin.
İsteğinizin yükünü yerleştirmek için "Body"yi ve ardından "raw"ı seçin.
createJob
yük şeması github'da mevcuttur ve aşağıdakine benzer. <>
değerini uygun alanlarla değiştirin.
{
"job_request_id": "<job_request_id>",
"input_data_blob_prefix": "<report_folder>/<report_name>.avro",
"input_data_bucket_name": "<bucket_name>",
"output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
"output_data_bucket_name": "<bucket_name>",
"job_parameters": {
"output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
"output_domain_bucket_name": "<bucket_name>",
"attribution_report_to": "<reporting origin of report>",
"reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
"report_error_threshold_percentage": "10",
"debug_run": "true"
}
}
"Gönder"i tıkladığınızda job_request_id
ile iş oluşturulur. İstek toplama hizmeti tarafından kabul edildiğinde bir HTTP 202 yanıtı alırsınız. Diğer olası döndürme kodlarını HTTP yanıt kodları bölümünde bulabilirsiniz.
5.2. Grup durumunu almak için getJob uç noktasını kullanma
İş isteğinin durumunu kontrol etmek için getJob
uç noktasını kullanabilirsiniz. "Gizlilik Korumalı Alan" koleksiyonunda "getJob"u seçin.
"Params" bölümünde, job_request_id değerini createJob
isteğinde gönderilen job_request_id
ile güncelleyin.
getJob
sonucu, iş isteğinizin durumunu 200 HTTP durumuyla döndürmelidir. "Body" isteği, job_status
, return_message
ve error_messages
(iş hatayla sona erdiyse) gibi gerekli bilgileri içerir.
Oluşturulan demo raporun raporlama sitesi, AWS kimliğinizdeki ilk katılım sitenizden farklı olduğundan PRIVACY_BUDGET_AUTHORIZATION_ERROR
return_code içeren bir yanıt alabilirsiniz. Raporların raporlama kaynağının sitesi, AWS kimliği için ilk katılım yapılan raporlama sitesiyle eşleşmediğinden bu normal bir durumdur.
{
"job_status": "FINISHED",
"request_received_at": "2023-12-07T22:50:58.830956Z",
"request_updated_at": "2023-12-07T22:51:10.526326456Z",
"job_request_id": "<job_request_id>",
"input_data_blob_prefix": "<report_folder>/<report_name>.avro",
"input_data_bucket_name": "<input_bucket_name>",
"output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
"output_data_bucket_name": "<output_bucket_name>",
"postback_url": "",
"result_info": {
"return_code": "PRIVACY_BUDGET_AUTHORIZATION_ERROR",
"return_message": "Aggregation job successfully processed",
"error_summary": {
"error_counts": [],
"error_messages": []
},
"finished_at": "2023-12-07T22:51:10.517730898Z"
},
"job_parameters": {
"debug_run": "true",
"output_domain_bucket_name": "<output_domain_bucket_name>",
"output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
"attribution_report_to": "https://privacy-sandbox-demos-dsp.dev",
"reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
},
"request_processing_started_at": "2023-12-07T22:51:06.034472697Z"
}
5.3. Özet raporu inceleme
Özet raporunuzu çıkış S3 paketinizde aldıktan sonra yerel ortamınıza indirebilirsiniz. Özet raporlar AVRO biçimindedir ve JSON'a geri dönüştürülebilir. Aşağıdaki komutu kullanarak raporunuzu okumak için aggregatable_report_converter.jar
kullanabilirsiniz.
java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>
Bu işlem, her bir paket anahtarının toplu değerlerini içeren ve aşağıdaki resme benzeyen bir JSON döndürür.
createJob
isteğiniz debug_run
değerini true
olarak içeriyorsa özet raporunuzu output_data_blob_prefix
klasöründeki hata ayıklama klasöründe alabilirsiniz. Rapor AVRO biçimindedir ve önceki komut kullanılarak JSON'a dönüştürülebilir.
Rapor, grup anahtarını, gürültü içermeyen metriği ve özet raporu oluşturmak için gürültü içermeyen metriğe eklenen gürültüyü içerir. Rapor aşağıdaki resme benzer.
Ek açıklamalarda in_reports
ve in_domain
da bulunur. Bunlar şu anlama gelir:
- in_reports: Gruplandırma anahtarı, toplanabilir raporlarda kullanılabilir.
- in_domain: Paket anahtarı, output_domain AVRO dosyasında bulunur.