1. Ön koşullar
Bu Codelab'i gerçekleştirmek için birkaç ön koşul gereklidir. Her 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 için Yerel Test Aracı'nın indirilmesi gerekir. Araç, şifrelenmemiş hata ayıklama raporlarından özet raporlar oluşturur.
Yerel Test aracı, Lambda JAR Archives in Github'da indirilebilir. LocalTestingTool_{version}.jar olarak adlandırılmalıdır.
1.2. JAVA JRE'nin yüklendiğini doğrulayın (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 komutunu kullanın.
`java --version` komutunu kullanarak Java JRE sürümünü kontrol etme.
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) indirin
Toplanabilir rapor dönüştürücünün bir kopyasını Özel Korumalı Alan Demoları GitHub deposundan indirebilirsiniz.
1.4. Reklam Gizliliği API'lerini Etkinleştirme (Yerel Test ve Toplama Hizmeti)
Tarayıcınızda chrome://settings/adPrivacy simgesine gidin ve tüm Reklam Gizliliği API'lerini etkinleştirin.
Üçüncü taraf çerezlerinin etkinleştirildiğini doğrulayın.
Tarayıcınızda chrome://settings/cookies simgesine gidin ve "Gizli modda üçüncü taraf çerezlerini engelle"yi seçin.
Üçüncü taraf çerezleri için Chrome ayarı.
1.5. Web ve Android kaydı (Aggregation Service)
Özel Korumalı Alan API'lerini üretim ortamında kullanmak için hem Chrome hem de Android'e 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.
Demomuz için Chrome flag'ini kullanmak üzere chrome://flags/#privacy-sandbox-enrollment-overrides adresine gidin ve geçersiz kılmayı sitenizle güncelleyin. Demomuzun sitesini kullanacaksanız güncelleme yapmanız gerekmez.
Özel Korumalı Alan kaydı geçersiz kılma Chrome işareti.
1.6. Aggregation Service'i kullanmaya başlama (Aggregation Service)
Aggregation Service'in kullanılabilmesi için koordinatörlerin hizmete dahil edilmesi gerekir. Raporlama sitesi adresinizi, AWS hesap kimliğinizi ve diğer bilgileri sağlayarak Toplama Hizmeti Onboarding formunu doldurun.
1.7. Bulut sağlayıcı (toplama hizmeti)
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'da (GCP) desteklenir. Bu Codelab yalnızca AWS entegrasyonunu kapsar.
AWS, Nitro Enclaves adlı bir güvenilir yürütme ortamı sunar. AWS hesabınızın olduğunu doğrulayın ve AWS CLI ortamınızı ayarlamak için AWS CLI yükleme ve güncelleme talimatlarını uygulayın.
AWS CLI'ınız yeni ise CLI yapılandırma talimatlarını kullanarak AWS CLI'ınızı yapılandırabilirsiniz.
1.7.1. AWS S3 paketi oluşturma
Terraform durumunu depolamak için bir AWS S3 paketi, raporlarınızı ve özet raporlarınızı depolamak için başka bir S3 paketi oluşturun. Sağlanan CLI komutunu kullanabilirsiniz. <> içindeki 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
Toplama Hizmeti'ni AWS'ye dağıtmak için hizmeti dağıtmak üzere kullanılan kullanıcıya belirli izinler vermeniz gerekir. Bu Codelab'de, dağıtımda tam izinlere sahip olduğunuzdan emin olmak için kullanıcının yönetici erişimi olduğunu doğrulayın.
1.8. Terraform (Toplama Hizmeti)
Bu Codelab'de, Toplama Hizmeti'ni dağıtmak için Terraform kullanılır. Terraform ikilisinin yerel ortamınıza yüklendiğini doğrulayın.
Terraform ikili programını yerel ortamınıza indirin.
Terraform ikili programı indirildikten sonra dosyayı çıkarın ve Terraform ikili programını /usr/local/bin konumuna taşıyın.
cp <directory>/terraform /usr/local/bin
Terraform'un sınıf yolunda kullanılabilir olduğundan emin olun.
terraform -v
1.9. Postman (Aggregation Service AWS için)
Bu Codelab'de istek yönetimi için Postman'i kullanın.
Üst gezinme çubuğundaki "Çalışma Alanları"na gidip "Çalışma Alanı Oluştur"u seçerek çalışma alanı oluşturun.
Postman çalışma alanı
"Boş çalışma alanı"nı seçin, sonraki seçeneğini tıklayın ve çalışma alanını "Özel Korumalı Alan" olarak adlandırın. "Kişisel"i seçip "Oluştur"u tıklayın.
Önceden yapılandırılmış çalışma alanı JSON yapılandırma ve Global Environment dosyalarını indirin.
"İçe aktar" düğmesini kullanarak JSON dosyalarını "Çalışma alanım"a aktarın.
Postman JSON dosyalarını içe aktarın.
Bu işlem, createJob ve getJob HTTP istekleriyle birlikte sizin için Özel Korumalı Alan koleksiyonunu oluşturur.
Postman'den içe aktarılan koleksiyon.
"Ortama hızlı bakış" üzerinden AWS "Erişim Anahtarı" ve "Gizli Anahtar"ı güncelleyin.
Postman ortamına hızlı bakış.
"Düzenle"yi tıklayın ve hem "access_key" hem de "secret_key"nin "Geçerli Değer"ini güncelleyin. frontend_api_id bilgisinin bu belgenin 3.1.4 bölümünde yer alacağını unutmayın. Ayrıca us-east-1 bölgesini kullanmanızı öneririz. Ancak farklı bir bölgede dağıtım yapmak istiyorsanız yayınlanan AMI'yi hesabınıza kopyaladığınızı veya sağlanan komut dosyalarını kullanarak kendi derlemenizi yaptığınızı doğrulayın.
Postman genel değişkenleri.
Postman'de genel değişkenleri düzenleme
2. Yerel Test Codelab'i
Şifrelenmemiş hata ayıklama raporlarını kullanarak toplama işlemi gerçekleştirmek ve özet raporlar oluşturmak için makinenizdeki yerel test aracını kullanabilirsiniz.
Codelab Adımları
Adım 2.1. Raporu tetikleme: Raporu toplayabilmek için Private Aggregation raporlamasını tetikleyin.
Adım 2.2. Hata ayıklama için toplanabilir rapor oluşturma: Toplanan JSON raporunu AVRO biçimli bir rapora dönüştürün.
Bu adım, reklam teknolojilerinin API raporlama uç noktalarından raporları topladığı ve JSON raporlarını AVRO biçimli raporlara dönüştürdüğü zamana benzer.
Adım 2.3. Paket anahtarını hata ayıklama raporundan ayrıştırın: Paket anahtarları, reklam teknolojileri tarafından tasarlanır. Bu codelab'de paketler önceden tanımlandığı için paket anahtarlarını sağlandığı şekilde alın.
2.4. Adım: Çıkış alanı AVRO'sunu oluşturun: Bucket 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 raporlar oluşturmak 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 demosunun sitesine gidin. Bu işlem, özel toplama raporunu tetikler. Raporu chrome://private-aggregation-internals adresinde görüntüleyebilirsiniz.
Chrome özel toplama iç öğeleri.
Raporunuz "Beklemede" durumundaysa raporu seçip "Seçili Raporları Gönder"i tıklayabilirsiniz.
Özel toplama raporu gönderme
2.2. Hata ayıklama için toplanabilir rapor oluşturma
chrome://private-aggregation-internals içinde, [reporting-origin]/.well-known/private-aggregation/report-shared-storage uç noktasında alınan "Report Body" (Rapor Gövdesi) bölümünü kopyalayın.
"Rapor Gövdesi"nde 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.
Private Aggregation raporu.
JSON "Rapor Gövdesi"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.
Rapor JSON dosyası.
Bu raporu aldıktan sonra rapor klasörünüze gidin ve hata ayıklama için toplu rapor oluşturmaya yardımcı olması için aggregatable_report_converter.jar simgesini kullanın. Bu işlem, geçerli 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şleme sırasında iki dosya gerektirir. Toplanabilir rapor ve çıkış alanı dosyası. Çıkış alanı dosyası, toplanabilir 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.
Bucket anahtarları, API'yi çağıran tarafından tasarlanır ve demo, önceden oluşturulmuş örnek bucket anahtarları içerir. Demoda Özel Toplama için hata ayıklama modu etkinleştirildiğinden, bucket anahtarını almak üzere "Rapor Gövdesi"nden hata ayıklama amaçlı şifresiz metin yükünü ayrıştırabilirsiniz. Ancak bu durumda, site privacy sandbox demo, grup 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 simgesini kopyalayın.
Rapor gövdesinden şifresiz metin yükünde hata ayıklayın.
Özel toplama için hata ayıklama yükü kod çözücüsü aracını açın ve debug_cleartext_payload değerinizi "INPUT" (GİRİŞ) kutusuna yapıştırıp "Decode" (Kod çöz) seçeneğini tıklayın.
Yük kod çözücü.
Sayfa, paket anahtarının ondalık değerini döndürür. Aşağıda örnek bir paket anahtarı verilmiştir.
Yük kod çözücü sonucu.
2.4. Çıkış alanı AVRO'sunu oluşturun
Paket anahtarını aldığımıza göre paket anahtarının ondalık değerini kopyalayın. Paket anahtarını kullanarak output_domain.avro oluşturmaya devam edin. yerine aldığınız paket anahtarını kullandığınızı doğrulayın.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
Komut dosyası, geçerli 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ılacaktır. Aşağıdaki komutu kullanın. LocalTestingTool_{version}.jar yerine LocalTestingTool için indirilen sürümü kullanmanız 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ıktan sonra aşağıdaki resme benzer bir sonuç görmeniz gerekir. Bu işlem tamamlandığında bir rapor output.avro oluşturulur.
Yerel test özeti raporu avro dosyası.
2.6. Özet raporu inceleme
Oluşturulan özet rapor AVRO biçimindedir. Bunu okuyabilmek için AVRO biçiminden JSON biçimine dönüştürmeniz gerekir. İdeal olarak, reklam teknolojisi, AVRO raporlarını tekrar JSON'a dönüştürecek şekilde kodlanmalıdır.
Codelab'imizde, AVRO raporunu tekrar 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 rapor output.json ile birlikte.
Özet avro dosyası json'a dönüştürüldü.
Özet raporu incelemek için JSON dosyasını istediğiniz bir düzenleyicide açın.
3. Aggregation Service 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 Hizmeti'ni AWS'ye dağıtın
3.1.Adım Toplama Hizmeti deposunu klonlayın
3.2.adım Önceden oluşturulmuş bağımlılıkları indirin
3.3.adım Geliştirme ortamı oluşturma
Adım 3.4. Aggregation Service'i dağıtma
3.1. Aggregation Service deposunu klonlayın
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
Aggregation Service 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 komutunu çalıştırın.
bash download_prebuilt_dependencies.sh
3.3. Geliştirme ortamı oluşturma
içinde geliştirme ortamı oluşturun. dev adlı bir klasör oluştur.
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'ye yönelik 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 yorumunu kaldırın.
AWS main.tf için:
AWS main tf dosyası.
Yorumdan çıkarılan 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! tuşlarına basarak güncellemeleri kaydedin ve düzenleyiciden çıkın. Bu işlem, güncellemeleri main.tf konumuna kaydeder.
Ardından, example.auto.tfvars dosyasını dev.auto.tfvars olarak yeniden adlandırın.
mv example.auto.tfvars dev.auto.tfvars
Dosyayı düzenlemek için dev.auto.tfvars değerini güncelleyin ve input için i tuşuna basın.
vim dev.auto.tfvars
Aşağıdaki resimde kırmızı kutu içindeki alanları, Aggregation Service oryantasyonu, ortamı ve bildirim e-postası sırasında sağlanan doğru AWS ARN parametreleriyle güncelleyin.
Edit dev auto tfvars file.
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.
Updated dev auto tfvars file.
3.4. Aggregation Service'i dağıtma
Aggregation Service'i 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ürmelidir:
Terraform'u başlatın.
Terraform başlatıldıktan sonra Terraform yürütme planını oluşturun. Burada, eklenecek kaynakların sayısı ve aşağıdaki resme benzer diğer ek bilgiler döndürülür.
terraform plan
Aşağıdaki "Plan" özetini inceleyebilirsiniz. Bu yeni bir dağıtımsa eklenecek kaynak sayısını, değiştirilecek ve kaldırılacak kaynak sayısı 0 olarak görürsünüz.
Terraform planı.
Bu işlemi tamamladıktan sonra Terraform'u uygulamaya devam edebilirsiniz.
terraform apply
Terraform'un işlemleri gerçekleştirmesini onaylamanız istendiğinde değere yes girin.
Terraform uygulama istemi.
terraform apply işlemi tamamlandığında createJob ve getJob için aşağıdaki uç noktalar döndürülür. Postman'de bölüm 1.9'da güncellemeniz gereken frontend_api_id da döndürülür.
Terraform apply complete.
4. Aggregation Service girişi oluşturma
Toplama Hizmeti'nde gruplandırma için AVRO raporları oluşturmaya devam edin.
4. adım: Aggregation Service Girişi Oluşturma: Aggregation Service için gruplandırılmış Aggregation Service raporlarını oluşturun.
4.1.adım Tetikleyici Raporu
Adım 4.2. Toplanabilir raporları toplama
4.3.adım Raporları AVRO'ya dönüştürme
4.4.adım Çıkış alanı AVRO'sunu oluşturun
4.1. Tetikleyici raporu
Özel Korumalı Alan demosunun bulunduğu siteye gidin. Bu işlem, özel toplama raporunu tetikler. Raporu chrome://private-aggregation-internals adresinde görüntüleyebilirsiniz.
Chrome özel toplama iç öğeleri.
Raporunuz "Beklemede" durumundaysa raporu seçip "Seçili Raporları Gönder"i tıklayabilirsiniz. '
Özel toplama raporu gönderme
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 Raporlama - Özet Rapor
[reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution
Bu Codelab'de rapor toplama işlemini manuel olarak gerçekleştireceksiniz. Üretim aşamasında, reklam teknolojilerinin raporları programatik olarak toplaması ve 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 "Report Body" (Rapor Gövdesi) bölümünü kopyalayın.
"Rapor Gövdesi"nde 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.
Private Aggregation raporu.
JSON "Rapor Gövdesi"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.
Rapor JSON dosyası.
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 hata ayıklama için toplanabilir raporun oluşturulmasına yardımcı olması için aggregatable_report_converter.jar simgesini kullanın. Bu işlem, geçerli 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ı AVRO'sunu oluşturun
output_domain.avro dosyasını oluşturmak için raporlardan alınabilen paket anahtarlarına ihtiyacınız vardır.
Grup anahtarları, reklam teknolojisi tarafından tasarlanır. Ancak bu durumda, Privacy Sandbox demo sitesi grup 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.
Rapor gövdesinden şifresiz metin yükünde hata ayıklayın.
goo.gle/ags-payload-decoder adresini açın, debug_cleartext_payload kodunuzu "INPUT" (GİRİŞ) kutusuna yapıştırıp "Decode" (Kod Çöz) seçeneğini tıklayın.
Yük kod çözücü.
Sayfa, paket anahtarının ondalık değerini döndürür. Aşağıda örnek bir paket anahtarı verilmiştir.
Yük kod çözücü sonucu.
Paket anahtarını aldığımıza göre output_domain.avro oluşturmaya devam edelim. yerine aldığınız paket anahtarını kullandığınızı doğrulayın.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
Komut dosyası, geçerli 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) ve çıkış alanı (bölüm 3.2.4) oluşturulduktan sonra raporları ve çıkış alanını raporlama S3 paketlerine taşıyın.
Yerel ortamınızda AWS KSA kurulumu varsa raporları ilgili S3 paketi 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. Aggregation Service kullanımı
terraform apply tarafından create_job_endpoint, get_job_endpoint ve frontend_api_id iade edilir. frontend_api_id değerini kopyalayın ve ön koşullar bölümündeki 1.9 numaralı adımda ayarladığınız Postman global değişkeni frontend_api_id içine 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.
Adım 5.1. createJob uç noktasını kullanarak toplu işleme
Adım 5.2. Toplu iş durumunu almak için getJob uç noktasını kullanma
5.3.adım Özet raporu inceleme
5.1. Toplu iş için createJob uç noktasını kullanma
Postman'de "Özel Korumalı Alan" koleksiyonunu açın ve "createJob"u seçin.
"Body"yi ve istek yükünüzü yerleştirmek için "raw"ı seçin.
postman createJob request body
createJob yük şeması github'da mevcuttur ve aşağıdaki gibi görünür. <> yerine uygun alanları girin.
{
"job_request_id": "<job_request_id>",
"input_data_blob_prefix": "<report_folder>/<report_name>.avro",
"input_data_blob_prefixes": [
"<report_folder>/<report_name-1>/",
"<report_folder>/<report_name-2>/",
"<report_folder>/<report_name>.avro"
], // Mutually exclusive to input_data_blob_prefix as of v2.11.0
"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>", // Mutually exclusive to attribution_report_to 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 edildikten sonra bir HTTP 202 yanıtı alırsınız. Diğer olası dönüş kodlarını HTTP yanıt kodları bölümünde bulabilirsiniz.
postman createJob request status
5.2. Toplu iş durumunu 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 ile güncelleyin.
postman getJob isteği
getJob sonucunda, iş isteğinizin durumu 200 HTTP durumuyla döndürülmelidir. "Body" isteği, job_status, return_message ve error_messages gibi gerekli bilgileri içerir (işte hata varsa).
postman getJob isteğinin durumu
Oluşturulan demo raporunun raporlama sitesi, AWS kimliğinizde kullanıma alınan sitenizden farklı olduğundan PRIVACY_BUDGET_AUTHORIZATION_ERROR return_code ile yanıt alabilirsiniz. Raporların "raporlama kaynağı" sitesi, AWS kimliği için kullanılan raporlama sitesiyle eşleşmediğinden bu durum normaldir.
{
"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_blob_prefixes": [ // Mutually exclusive to input_data_blob_prefix as of v2.11.0
"<report_folder>/<report_name-1>/",
"<report_folder>/<report_name-2>/",
"<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>", // Mutually exclusive to attribution_report_to 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 tekrar JSON'a dönüştürülebilir. Raporunuzu okumak için aşağıdaki komutu kullanarak aggregatable_report_converter.jar özelliğini kullanabilirsiniz.
java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>
Bu işlem, her paket anahtarının toplanmış değerlerinin JSON'unu döndürür. Bu JSON, aşağıdaki resme benzer.
Özet rapor.
createJob isteğiniz debug_run olarak true içeriyorsa özet raporunuzu output_data_blob_prefix içindeki hata ayıklama klasöründe alabilirsiniz. Rapor AVRO biçimindedir ve önceki komut kullanılarak JSON'a dönüştürülebilir.
Rapor; gruplandırma 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.
Hata ayıklama özeti raporu.
Açıklamalarda in_reports ve in_domain da yer alır. Bu işaretler şunları ifade eder:
- in_reports: Paket anahtarı, toplanabilir raporlarda kullanılabilir.
- in_domain: Paket anahtarı, output_domain AVRO dosyasında kullanılabilir.