AWS'de Toplama Hizmeti ile çalışma

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.

java kullanarak java jre sürümü kontrol ediliyor\n--version

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.

özel korumalı alan chromeflag

Üçü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.

üçüncü taraf çerezi chromesetting

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.

özel korumalı alan kaydını geçersiz kılma chromeflag

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.

Postmanworkspace

"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.

postman JSON dosyalarını içe aktar

Bu işlem, createJob ve getJob HTTP istekleriyle birlikte sizin için Özel Korumalı Alan koleksiyonunu oluşturur.

postman importcollection

"Ortam hızlı bakış" bölümünde AWS "Erişim Anahtarı" ve "Gizli Anahtar" değerlerini güncelleyin.

postacı ortamı hızlı bakış

"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.

postacı global değişkenler

postman global değişkenleri düzenle

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.

chrome gizli toplamainternals

Raporunuz "Beklemede" durumundaysa, raporu seçip "Seçili Raporları Gönder"i tıklayabilirsiniz.

gizli toplama raporu gönder

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.

gizli toplama raporu

"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.

rapor JSONfile

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.

reportbody&#39;dan şifresiz metin yüküyle ilgili hata ayıklama

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

yük kod çözücü

Sayfa, grup 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. 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.

yerel test özeti raporu eurofile

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 euro dosyası json&#39;a dönüştürüldü

Ö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 /terraform/aws platformuna geçebilirsiniz

cd <repository_root>/terraform/aws

/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

/terraform/aws/environments ü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:

AWS ana tf dosyası

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.

dev auto tfvarsfile&#39;ı düzenle

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.

güncellenmiş dev auto tfvarsfile

3.4. Toplama Hizmetini Dağıtma

Toplama Hizmeti'ni dağıtmak için aynı /terraform/aws/environments/dev klasöründe Terraform'u başlatın.

terraform init

Bu, aşağıdaki resme benzer bir sonuç döndürecektir:

terraforminit

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.

Terraformplan

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 uygulama istemi

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.

terraform uygulama tamamlama

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.

chrome gizli toplamainternals

Raporunuz "Beklemede" durumundaysa, raporu seçip "Seçili Raporları Gönder"i tıklayabilirsiniz.

gizli toplama raporu gönder

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.

gizli toplama raporu

"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.

rapor JSONfile

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.

reportbody&#39;dan şifresiz metin yüküyle ilgili hata ayıklama

goo.gle/ags-payload-decoder sayfasını açın ve debug_cleartext_payload öğenizi "INPUT" kutusuna yapıştırıp "INPUT"ü tıklayın.

yük kod çözücü

Sayfa, grup 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

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.

postacı createJob requestbody

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

postacı createJob requeststatus

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.

postacı getJobrequest

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).

postacı getJob istek durumu

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.

özet rapor

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.

hata ayıklama özet raporu

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.