1. Ön koşullar
Bu Codelab'i gerçekleştirmek için birkaç ön koşul gereklidir. Her bir koşul, "Yerel Test" veya "Toplama Hizmeti" için gerekli olup olmadığına göre işaretlenir.
1.1. Yerel Test Aracı'nı (Yerel Test) indirin
Yerel Test, Yerel Test Aracı'nın indirilmesini gerektirir. Araç, şifrelenmemiş hata ayıklama raporlarından özet raporlar oluşturur.
Yerel Test aracı, GitHub'daki Lambda JAR Arşivleri'nden indirilebilir. LocalTestingTool_{version}.jar
olarak adlandırılmalıdır.
1.2. JAVA JRE'nin (Yerel Test ve Toplama Hizmeti) yüklü olduğundan emin olun
"Terminal"i açın ve makinenizde Java veya openJDK yüklü olup olmadığını kontrol etmek için java --version
kullanın.
Yüklü değilse Java sitesinden veya openJDK sitesinden indirip yükleyebilirsiniz.
1.3. Birleştirilebilir Rapor Dönüştürücüyü İndir (Yerel Test ve Toplama Hizmeti)
Birleştirilebilir rapor dönüştürücünün bir kopyasını Özel Korumalı Alan Demoları GitHub deposundan indirebilirsiniz.
1.4 Privacy Sandbox API'lerini (Yerel Test ve Toplama Hizmeti) etkinleştir
Tarayıcınızda chrome://flags/#privacy-sandbox-ads-apis
adresine gidip Özel Korumalı Alan API'lerini etkinleştirin.
Üçüncü Taraf Çerezlerinizin etkin olduğundan emin olun.
Tarayıcınızda chrome://settings/cookies
adresine gidip "Gizli modda üçüncü taraf çerezlerini engelle"yi seçin.
1.5. Web ve Android kaydı (Toplama Hizmeti)
Özel Korumalı Alan API'lerini bir üretim ortamında kullanmak için hem Chrome hem de Android'e yönelik kayıt ve onay işlemlerini tamamladığınızdan emin olun.
Yerel test için kayıt, Chrome flag'i ve KSA anahtarı kullanılarak devre dışı bırakılabilir.
Demoda Chrome işaretini kullanmak için chrome://flags/#privacy-sandbox-enrollment-overrides
adresine gidin ve geçersiz kılmayı sitenizle güncelleyin. Demo sitemizi kullanacaksanız herhangi bir güncelleme gerekmez.
1.6. Toplama Hizmeti ilk katılım (Toplama Hizmeti)
Toplama Hizmeti, koordinatörlerin hizmeti kullanabilmesi için ilk katılım gerektirir. Raporlama sitesi adresinizi, AWS Hesap Kimliğinizi ve diğer bilgileri sağlayarak Toplama Hizmeti İlk Katılım formunu doldurun.
1.7 Bulut sağlayıcı (Toplama Hizmeti)
Toplama Hizmeti, bulut ortamı kullanan Güvenilir Yürütme Ortamının kullanılmasını gerektirir. Toplama hizmeti, Amazon Web Services (AWS) ve Google Cloud'da (GCP) desteklenir. Bu Codelab'de yalnızca AWS entegrasyonu ele alınacaktır.
AWS, Nitro Enclaves adı verilen bir Güvenilir Yürütme Ortamı sunar. 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 KSA'nız yeniyse AWS KSA'nızı KSA Yapılandırma talimatlarını kullanarak yapılandırabilirsiniz.
1.7.1. AWS S3 paketi oluşturma
Terraform durumunu depolamak için bir AWS S3 paketi ve raporlarınız ile ö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ştur
AWS kılavuzunu kullanarak kullanıcı erişim anahtarları oluşturun. Bu ad, 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
Toplama Hizmeti'ni AWS'de dağıtmak için hizmeti dağıtmak üzere kullanılan kullanıcıya belirli izinler vermeniz gerekir. Bu Codelab'de dağıtımda tüm izinlere sahip olmak için kullanıcının Yönetici Erişimine sahip olduğundan emin olun.
1:8. Terraform (Toplama Hizmeti)
Bu Codelab, Toplama Hizmeti'ni dağıtmak için Terraform'u kullanır. Terraform ikili programının yerel ortamınıza yüklendiğinden emin olun.
Terraform ikili dosyasını yerel ortamınıza indirin.
Terraform ikili dosyası indirildikten sonra, dosyayı çıkartın ve Terraform ikili dosyasını /usr/local/bin
klasörüne taşıyın.
cp <directory>/terraform /usr/local/bin
Terraform'un sınıf yolunda kullanılabildiğinden emin olun.
terraform -v
1.9. Postman (Toplama Hizmeti AWS için)
Bu Codelab'de istekleri yönetmek için Postman'ı kullanın.
"Çalışma alanları" üst gezinme öğesine gidip "Çalışma Alanı Oluştur"u seçerek bir çalışma alanı oluşturun.
"Boş çalışma alanı"nı seçip ileri seçeneğini tıklayın ve alanı "Özel Korumalı Alan" olarak adlandırın. "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 Genel Ortam dosyalarını indirin.
JSON dosyalarını "İçe aktar" düğmesini kullanarak "Çalışma Alanım" bölümüne aktarın.
Bu işlem, createJob
ve getJob
HTTP istekleriyle birlikte sizin için Özel Korumalı Alan koleksiyonunu oluşturur.
"Ortam hızlı bakış" bölümünde AWS "Erişim Anahtarı" ve "Gizli Anahtar" değerlerini güncelleyin.
"Düzenle"yi tıklayın ve hem "access_key" hem de "secret_key"nin "Geçerli Değeri"ni güncelleyin. frontend_api_id
ifadesinin bu belgenin bölüm 3.1.4'te sağlandığını unutmayın. Ayrıca us-east-1 bölgesini kullanmanızı öneririz. Ancak farklı bir bölgede dağıtım yapmak istiyorsanız serbest bırakılan AMI'yi hesabınıza kopyaladığınızdan emin olun veya sağlanan komut dosyalarını kullanarak kendi kendinize oluşturun.
2. Yerel Test Codelab
Toplama işlemi gerçekleştirmek ve şifrelenmemiş hata ayıklama raporlarını kullanarak özet raporlar oluşturmak için makinenizdeki yerel test aracını kullanabilirsiniz.
Codelab Adımları
Adım 2.1. Tetikleyici raporu: Raporu toplayabilmek için Gizli Toplama raporlamasını tetikleyin.
Adım 2.2. Hata ayıklama için birleştirilmiş rapor oluştur: Toplanan JSON raporunu AVRO biçimli bir rapora dönüştürün.
Bu adım, reklam teknisyenlerinin API raporlama uç noktalarından raporları toplayıp JSON raporlarını AVRO biçimli raporlara dönüştürmesine benzer.
Adım 2.3. Hata ayıklama raporundan paket anahtarını ayrıştırın: Paket anahtarları, reklam teknolojileri tarafından tasarlanmıştır. Bu codelab'de paketler önceden tanımlanmış olduğundan paket anahtarlarını sağlandığı şekilde alın.
Adım 2.4. AVRO çıkış alanını oluşturun: Paket anahtarları alındıktan sonra Çıktı Alanı AVRO dosyasını oluşturun.
Adım 2.5. Yerel Test Aracı'nı kullanarak özet raporlar oluşturma: Yerel Ortamda Özet Raporlar oluşturabilmek için Yerel Test Aracı'nı kullanın.
Adım 2.6. Özet raporu inceleyin: Yerel Test Aracı tarafından oluşturulan Özet Raporu inceleyin.
2.1. Tetikleyici raporu
Özel korumalı alan demo sitesine gidin. Bu, gizli bir toplama raporunu tetikler. Raporu chrome://private-aggregation-internals
adresinde görüntüleyebilirsiniz.
Raporunuz "Beklemede" durumundaysa, raporu seçip "Seçili Raporları Gönder"i tıklayabilirsiniz.
2.2. Hata ayıklama için toplanabilir rapor oluşturma
chrome://private-aggregation-internals
ürününde, [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ünde aggregation_coordinator_origin
öğesinin https://publickeyservice.msmt.aws.privacysandboxservices.com
içerdiğinden emin olun. Bu, raporun AWS ile birleştirilmiş bir rapor olduğu anlamına gelir.
"Rapor Gövdesi" JSON dosyasını bir JSON dosyasına yerleştirin. Bu örnekte vim'i kullanabilirsiniz. Ancak, istediğiniz herhangi bir metin düzenleyiciyi kullanabilirsiniz.
vim report.json
Raporu report.json
içine yapıştırıp dosyanızı kaydedin.
Bunu yaptıktan sonra rapor klasörünüze gidin ve hata ayıklama için toplanabilir raporu oluşturmak için aggregatable_report_converter.jar
yardımını kullanın. Bu işlem, mevcut dizininizde report.avro
adında 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. Birleştirilebilir rapor ve çıktı alan dosyası. Çıkış alanı dosyası, birleştirilebilir raporlardan almak istediğiniz anahtarları içerir. output_domain.avro
dosyasını oluşturmak için raporlardan alınabilen paket anahtarlarına ihtiyacınız vardır.
Paket anahtarları, API'yi çağıran tarafından tasarlanmıştır. demo ise önceden oluşturulmuş örnek paket anahtarları içerir. Demoda Özel Toplama için hata ayıklama modu etkinleştirildiği için paket anahtarını almak amacıyla "Rapor Gövdesi"nden hata ayıklama şifresiz metin yükünü ayrıştırabilirsiniz. Ancak bu durumda, paket anahtarlarını özel korumalı alan demosu sitesi oluşturur. Bu site için gizli 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.
Özel Toplama için Hata ayıklama yükü kod çözücü aracını açın ve debug_cleartext_payload
öğenizi "INPUT" kutusuna yapıştırıp "INPUT"ü tıklayın.
Sayfa, grup anahtarının ondalık değerini döndürür. Aşağıda örnek bir paket anahtarı verilmiştir.
2.4. AVRO çıkış alanını oluşturma
Artık paket anahtarına sahip olduğumuza göre, paket anahtarının ondalık değerini kopyalayabilirsiniz. Paket anahtarını kullanarak output_domain.avro
oluşturma işlemine 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ı, mevcut klasörünüzde output_domain.avro
dosyasını oluşturur.
2:5. Yerel Test Aracı'nı kullanarak özet raporlar oluşturma
Özet raporları oluşturmak için Bölüm 1.1'de indirilen LocalTestingTool_{version}.jar
kullanılacak. Aşağıdaki komutu kullanın. LocalTestingTool_{version}.jar
dosyasını LocalTestingTool için indirilen sürümle değiştirmeniz gerekir.
Yerel geliştirme ortamınızda özet raporu 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 şey görürsünüz. Bu işlem tamamlandığında output.avro
raporu oluşturulur.
2.6. Özet raporu inceleme
Oluşturulan özet raporu 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 geri dönüştürecek şekilde kodlamalıdır.
Codelab'imiz için AVRO raporunu JSON'a geri 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, aşağıdaki resme benzer bir rapor döndürür. Ayrıca, aynı dizinde oluşturulmuş output.json
adlı bir rapor da bulunuyor.
Özet raporunu 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. Toplama Hizmeti Dağıtımı: Toplama Hizmetini AWS'de dağıtın
Adım 3.1. Toplama Hizmeti Deposunu Klonlayın
Adım 3.2. Önceden oluşturulmuş bağımlılıkları indirin
3.3.Adım: Geliştirme ortamı oluşturun
Adım 3.4: Toplama Hizmetini Dağıtma
3.1. Toplama Hizmeti deposunu klonlama
Yerel ortamınızda Toplama Hizmeti 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 AWS ise
platformuna geçebilirsiniz
cd <repository_root>/terraform/aws
konumunda download_prebuilt_dependencies.sh
işlemini yürütün.
bash download_prebuilt_dependencies.sh
3.3. Geliştirme ortamı oluşturma
ürününde 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 dosyayı düzenlemek için input
için i
tuşuna basın.
vim main.tf
# işaretini kaldırıp paket ve anahtar adlarını güncelleyerek kırmızı kutudaki kodun açıklamasını kaldırın.
AWS main.tf için:
Yorumlanmamış kod aşağıdaki gibi görünür.
backend "s3" {
bucket = "<tf_state_bucket_name>"
key = "<environment_name>.tfstate"
region = "us-east-1"
}
Güncellemeler tamamlandıktan sonra, güncellemeleri kaydedin ve esc
-> :wq!
tuşlarına basarak düzenleyiciden çıkın. Böylece güncellemeler main.tf
sayfasına kaydedilir.
Ardından, example.auto.tfvars
cihazının adını dev.auto.tfvars
olarak değiştirin.
mv example.auto.tfvars dev.auto.tfvars
dev.auto.tfvars
uygulamasını güncelleyin ve dosyayı düzenlemek üzere input
için i
tuşuna basın.
vim dev.auto.tfvars
Görüntünün ardından kırmızı kutudaki alanları, Toplama Hizmeti ilk katılım, ortam ve bildirim e-postası sırasında sağlanan doğru AWS ARN parametreleriyle güncelleyin.
Güncellemeler tamamlandığında esc
-> :wq!
tuşlarına basın. Bu işlem, dev.auto.tfvars
dosyasını kaydeder ve dosya aşağıdaki resim gibi görünür.
3.4. Toplama Hizmetini Dağıtma
Toplama Hizmeti'ni dağıtmak için aynı
klasöründe Terraform'u başlatın.
terraform init
Bu, aşağıdaki resme benzer bir sonuç döndürecektir:
Terraform başlatıldıktan sonra Terraform yürütme planını oluşturun. Burada, eklenecek kaynak sayısını ve aşağıdaki resme benzer diğer ek bilgileri döndürür.
terraform plan
Aşağıdaki "Plan" özetini görebilirsiniz. Bu yeni bir dağıtımsa, değiştirilecek kaynak sayısını 0 ve kaldırmak için 0 olarak görebilirsiniz.
Bu adımları tamamladıktan sonra Terraform'u uygulayabilirsiniz.
terraform apply
Terraform'un işlemlerini gerçekleştirmesini onaylamanız istendiğinde, değere bir yes
girin.
terraform apply
bittikten sonra, createJob
ve getJob
için aşağıdaki uç noktalar döndürülür. Postman'da bölüm 1.9'da güncellemeniz gereken frontend_api_id
de döndürülür.
4. Toplama Hizmeti girişi oluşturma
Toplama Hizmeti'nde toplu işlem için AVRO raporları oluşturmaya devam edin.
4. Adım. Toplama Hizmeti Girişi Oluşturma: Toplama Hizmeti için toplu olarak işlenen Toplama Hizmeti raporlarını oluşturun.
Adım 4.1. Tetikleyici Raporu
Adım 4.2. Birleştirilebilir raporlar toplayın
Adım 4.3. Raporları AVRO'ya dönüştürün
Adım 4.4. AVRO çıkış alanını oluşturma
4.1. Tetikleyici raporu
Özel Korumalı Alan demo sitesine gidin. Bu, gizli bir toplama raporunu tetikler. Raporu chrome://private-aggregation-internals
adresinde görüntüleyebilirsiniz.
Raporunuz "Beklemede" durumundaysa, raporu seçip "Seçili Raporları Gönder"i tıklayabilirsiniz.
4.2. Birleştirilebilir raporları toplama
İlgili API'nizin .well-known
uç noktalarından toplanabilir raporlarınızı toplayın.
- Gizli Toplam
[reporting-origin] /.well-known/private-aggregation/report-shared-storage
- İlişkilendirme Raporlaması - Özet Raporu
[reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution
Bu Codelab için rapor toplama işlemini manuel olarak yapacaksınız. Üretimde reklam teknolojilerinin raporları programlı bir şekilde toplayıp dönüştürmesi beklenir.
chrome://private-aggregation-internals
ürününde, [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ünde aggregation_coordinator_origin
öğesinin https://publickeyservice.msmt.aws.privacysandboxservices.com
içerdiğinden emin olun. Bu, raporun AWS ile birleştirilmiş bir rapor olduğu anlamına gelir.
"Rapor Gövdesi" JSON dosyasını bir JSON dosyasına yerleştirin. Bu örnekte vim'i kullanabilirsiniz. Ancak, istediğiniz herhangi bir metin düzenleyiciyi kullanabilirsiniz.
vim report.json
Raporu report.json
içine yapıştırıp dosyanızı kaydedin.
4.3. Raporları AVRO'ya dönüştür
.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 hata ayıklama için toplanabilir raporu oluşturmak üzere aggregatable_report_converter.jar
öğesini kullanın. Bu işlem, mevcut dizininizde report.avro
adında toplanabilir bir rapor oluşturur.
java -jar aggregatable_report_converter.jar \
--request_type convertToAvro \
--input_file report.json
4.4. AVRO çıkış alanını oluşturma
output_domain.avro
dosyasını oluşturmak için raporlardan alınabilen paket anahtarlarına ihtiyacınız vardır.
Paket anahtarları reklam teknolojisi tarafından tasarlanmıştır. Ancak bu durumda, paket anahtarlarını Özel Korumalı Alan demosu sitesi oluşturur. Bu site için gizli toplama hata ayıklama modunda olduğundan paket anahtarını almak için "Rapor Gövdesi"ndeki debug_cleartext_payload
öğesini kullanabilirsiniz.
Devam edip rapor gövdesinden debug_cleartext_payload
öğesini kopyalayın.
goo.gle/ags-payload-decoder sayfasını açın ve debug_cleartext_payload
öğenizi "INPUT" kutusuna yapıştırıp "INPUT"ü tıklayın.
Sayfa, grup anahtarının ondalık değerini döndürür. Aşağıda örnek bir paket anahtarı verilmiştir.
Artık paket anahtarına sahip olduğumuza göre output_domain.avro
öğesini 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ı, mevcut klasörünüzde output_domain.avro
dosyasını oluşturur.
4.5. Raporları AWS paketine taşıma
AVRO raporları (bölüm 3.2.3'ten) ve çıkış alanı (bölüm 3.2.4'ten) oluşturulduktan sonra raporları ve çıkış alanını raporlama S3 gruplarına taşıyın.
Yerel ortamınızda AWS CLI kurulumunuz varsa 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
üzerinden create_job_endpoint
, get_job_endpoint
ve frontend_api_id
iade edilir. frontend_api_id
değerini kopyalayın ve bunu, ön koşul bölümü 1.9'da ayarladığınız postacı genel değişkenine (frontend_api_id
) yerleştirin.
5. Adım. Toplama Hizmeti Kullanımı: Özet raporlar oluşturmak ve özet raporları incelemek için Aggregation Service API'yi kullanın.
Adım 5.1. Toplu işlem için createJob Uç Noktası'nı kullanma
Adım 5.2. Toplu durum almak için getJob Uç Noktası'nı kullanma
Adım 5.3. Özet Raporu İnceleme
5.1. Toplu işlem için createJob
uç noktasını kullanma
Postman'da "Özel Korumalı Alan" koleksiyonunu açın ve "createJob" seçeneğini belirleyin.
İstek yükünü yerleştirmek için "Gövde" ve "ham" seçeneğini belirleyin.
createJob
yük şeması, github'da mevcuttur ve aşağıdakine benzer. <>
yerine uygun alanları girin.
{
"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>",
"job_parameters": {
"output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
"output_domain_bucket_name": "<output_domain_bucket_name>",
"attribution_report_to": "<reporting origin of report>",
"report_error_threshold_percentage": "10",
"debug_run": "true"
}
}
"Gönder" düğmesini tıkladığınızda job_request_id
içeren iş oluşturulur. İstek, Toplama Hizmeti tarafından kabul edildiğinde bir HTTP 202 yanıtı alırsınız. Diğer olası dönüş kodları HTTP yanıt kodlarında bulunabilir
5.2. Toplu durum bilgisi almak için getJob Uç Noktası'nı kullanma
İş isteğinin durumunu kontrol etmek için getJob
uç noktasını kullanabilirsiniz. "Özel Korumalı Alan" koleksiyonunda "getJob"ı seçin.
"Params" bölümünde, Job_request_id değerini createJob
isteğinde gönderilen job_request_id
olarak güncelleyin.
getJob
işleminin sonucu, iş isteğinizin durumunu 200 HTTP durumuyla döndürecektir. "Gövde" isteği, job_status
, return_message
ve error_messages
gibi gerekli bilgileri içerir (iş hatalıysa).
Oluşturulan demo raporunun raporlama sitesi, AWS kimliğinizdeki ilk katılım sitenizdeki siteden farklı olduğundan PRIVACY_BUDGET_AUTHORIZATION_ERROR
dönüş kodu ile bir yanıt alabilirsiniz. Raporların raporlama kaynağının sitesi, AWS kimliği için izin verilen 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-news.dev"
},
"request_processing_started_at": "2023-12-07T22:51:06.034472697Z"
}
5.3. Özet Raporu İnceleme
Özet raporunuzu çıkış S3 Paketinizde aldıktan sonra bunu yerel ortamınıza indirebilirsiniz. Özet raporlar AVRO biçimindedir ve JSON'a geri dönüştürülebilir. Raporunuzu okumak için aşağıdaki komutu aggregatable_report_converter.jar
kullanabilirsiniz.
java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>
Bu komut, her paket anahtarının toplam değerlerinin yer aldığı ve aşağıdaki resme benzeyen bir JSON döndürür.
createJob
isteğiniz true
olarak debug_run
içeriyorsa özet raporunuzu output_data_blob_prefix
konumunda bulunan hata ayıklama klasöründe alabilirsiniz. Rapor AVRO biçimindedir ve önceki komut kullanılarak JSON'a dönüştürülebilir.
Rapor, özet raporu oluşturmak için paket anahtarını, bildirilmemiş metriği ve seslendirilmemiş metriğe eklenen gürültüyü içerir. Rapor, aşağıdaki resme benzer.
Ek açıklamalar, in_reports
ve in_domain
öğelerini de içerir. Bu da şu anlama gelir:
- in_reports: Grup anahtarı, toplanabilir raporların içinde bulunur.
- in_domain: Paket anahtarı exit_domain AVRO dosyasında bulunur.