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 gereksinim, "Yerel Test" veya "Toplama Hizmeti" için gerekli olup olmadığına göre uygun şekilde işaretlenir.

1.1. Yerel Test Aracı'nı indirin (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ını GitHub'daki Lambda JAR Arşivleri'nden indirebilirsiniz. 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'nin yüklü olup olmadığını kontrol etmek için java --version kullanın.

Java jre sürümünü kontrol etme\n--sürümü

Yüklü değilse Java sitesinden veya openJDK sitesinden indirip yükleyebilirsiniz.

1.3. Toplanabilir Rapor Dönüştürücüyü İndir (Yerel Test ve Toplama Hizmeti)

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ştir (Yerel Test ve Toplama Hizmeti)

Tarayıcınızda chrome://settings/adPrivacy adresine gidip tüm Reklam Gizliliği API'lerini etkinleştirin.

Üçüncü taraf çerezlerinin etkinleştirildiğinden emin olun.

Tarayıcınızda chrome://settings/cookies bölümüne gidip "Gizli modda üçüncü taraf çerezlerini engelle" seçeneğini belirleyin.

üçüncü taraf çerez Chrome ayarı

1.5. Web ve Android kaydı (Toplama Hizmeti)

Özel Korumalı Alan API'lerini üretim ortamında kullanmak istiyorsanız hem Chrome hem de Android için kayıt ve onay işlemlerini tamamladığınızdan emin olun.

Yerel test için kayıt, bir chrome flag ve CLI anahtarı kullanılarak devre dışı bırakılabilir.

Demomuzda Chrome işaretini kullanmak için chrome://flags/#privacy-sandbox-enrollment-overrides adresine gidip geçersiz kılmayı sitenizle güncelleyin. Demo sitemizi kullanacaksanız güncelleme gerekmez.

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

1.6. Aggregation Service ilk katılım (Toplama Hizmeti)

Toplama Hizmeti, hizmeti kullanabilmek için koordinatörlere ilk katılım gerektirir. Raporlama sitesi adresinizi, AWS hesap kimliğinizi ve diğer bilgileri sağlayarak toplama hizmeti ilk katılım formunu doldurun.

1.7. Bulut sağlayıcısı (Toplama Hizmeti)

Toplama Hizmeti, bulut ortamı kullanan bir Güvenilir Yürütme Ortamı 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ı Güvenilir bir Yürütme Ortamı sağlar. Bir 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 KSA yapılandırma talimatlarını kullanarak AWS KSA'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ştur

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 Hizmeti'ni dağıtmak için hizmetin dağıtımında kullanılan kullanıcıya belirli izinler sağlamanız gerekir. Bu Codelab'de, dağıtımda tüm izinleri kullanabilmek 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 programını yerel ortamınıza indirin.

Terraform ikili programı indirildikten sonra dosyayı çıkarın ve Terraform ikili programını /usr/local/bin öğesine 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 (Toplama Hizmeti AWS için)

Bu Codelab'de istek yönetimi için Postman'i 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çin, sonraki seçeneğini tıklayın ve "Özel 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ı ve Genel Ortam dosyalarını indirin.

"İçe aktar" düğmesini kullanarak JSON dosyalarını "Çalışma Alanım" bölümüne aktarın.

postacı JSON dosyalarını içe aktarma

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

postacı içe aktarılan koleksiyon

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

postacı ortamı Quicklook

"Düzenle"yi tıklayın ve hem "erişim_anahtarı" hem de "gizli_anahtar" öğesinin "Geçerli Değeri"ni güncelleyin. frontend_api_id bilgisinin bu dokümanın 3.1.4 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ğıtım yapmak istiyorsanız yayınlanan AMI'yi hesabınıza kopyaladığınızdan veya sağlanan komut dosyalarını kullanarak kendi kendine oluşturma işlemini gerçekleştirdiğinizden emin olun.

postman genel değişkenleri

postacı genel değişkenleri düzenle

2. Yerel Test Codelab'i

Toplama yapmak 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 Özel Toplama raporlamasını tetikleyin.

Adım 2.2. Toplanabilir hata ayıklama raporu oluşturun: 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ırma: 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. Çıkış alanı AVRO'sunu oluşturun: Paket anahtarları alındıktan sonra Çıkış Alanı AVRO dosyasını oluşturun.

Adım 2.5. Yerel Test Aracı'nı kullanarak özet raporlar oluşturun: Yerel Ortamda Özet Raporlar oluşturabilmek için Yerel Test Aracı'nı kullanın.

Adım 2.6. Özet raporu inceleme: Yerel Test Aracı tarafından oluşturulan Özet Raporu inceleyin.

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

chrome gizli toplama dahilileri

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şturun

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 değerini içerdiğinden emin olun. Bu, raporun AWS için toplanabilir bir rapor olduğu anlamına gelir.

gizli toplama raporu

JSON "Rapor Gövdesi" dosyasını bir JSON dosyasına yerleştirin. Bu örnekte vim'i kullanabilirsiniz. Ancak, istediğiniz metin düzenleyiciyi kullanabilirsiniz.

vim report.json

Raporu report.json alanına yapıştırın ve dosyanızı kaydedin.

JSON dosyasını bildir

Bunu yaptıktan sonra rapor klasörünüze gidin ve hata ayıklamanın toplanabilir raporunu oluşturmak için aggregatable_report_converter.jar öğesini kullanın. Bu işlem, geçerli 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. Paket anahtarını hata ayıklama raporundan ayrıştırın

Toplama Hizmeti, toplu işlem için iki dosya gerektirir. Toplanabilir rapor ve çıkış alan adı 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.

Paket anahtarları, API'yi çağıran kişi tarafından tasarlanmıştır ve demo önceden oluşturulmuş örnek paket anahtarları içerir. Demo, Özel Toplama için hata ayıklama modunu etkinleştirdiğinden, paket anahtarını almak için hata ayıklama temiz metin yükünü "Rapor Gövdesi"nden ayrıştırabilirsiniz. Ancak bu durumda paket anahtarlarını site özel korumalı alan demosu oluşturur. Bu site için gizli toplama hata ayıklama modunda olduğundan, paket anahtarını almak için "Rapor Gövdesindeki" debug_cleartext_payload öğesini kullanabilirsiniz.

Rapor gövdesindeki debug_cleartext_payload bilgisini kopyalayın.

reportbody&#39;deki şifresiz metin yükü hatalarını ayıkla

Özel Toplama için hata ayıklama yük kod çözücü aracını açın ve debug_cleartext_payload dosyanızı "INPUT" kutusuna yapıştırıp "Kod Çöz"ü 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 çözme 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 kopyalayın. Paket anahtarını kullanarak output_domain.avro oluşturma işlemine devam edin. öğesini 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ı, geçerli klasörünüzde output_domain.avro dosyasını oluşturur.

2:5. Yerel Test Aracı'nı kullanarak özet raporlar oluşturun

Özet raporları oluşturmak için Bölüm 1.1'de indirilen LocalTestingTool_{version}.jar kullanılır. 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 bir ö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 şey görürsünüz. Bu işlem tamamlandığında output.avro adlı bir rapor oluşturulur.

yerel test özeti rapor dosyası

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ı tekrar JSON biçimine dönüştürecek şekilde kodlama yapmalıdır.

Codelab'imiz için, sağlanan aggregatable_report_converter.jar aracını kullanarak AVRO raporunu tekrar JSON biçimine dönüştüreceğiz.

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 raporla (output.json) birlikte.

özet avro dosyası JSON&#39;a dönüştürüldü

Özet raporu incelemek için JSON dosyasını seçtiğ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 Deployment: AWS'de Toplama Hizmeti'ni dağıtın
Adım 3.1 Toplama Hizmeti Deposu'nu klonlayın
Adım 3.2 Önceden oluşturulmuş bağımlılıkları indirin
3.3.Adım Bir geliştirme ortamı oluşturun
Adım 3.4. Toplama Hizmeti 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 hizmetine devam edebilirsiniz

cd <repository_root>/terraform/aws

/terraform/aws uygulamasında download_prebuilt_dependencies.sh yürütün.

bash download_prebuilt_dependencies.sh

3.3. Geliştirme ortamı oluşturma

/terraform/aws/environments bölgesinde bir geliştirici 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 koddaki açıklamayı kaldırın.

AWS main.tf için:

AWS ana tf dosyası

Açıklama içermeyen 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ığında güncellemeleri kaydedin ve esc -> :wq! tuşlarına basarak düzenleyiciden çıkın. Bu işlem, main.tf üzerindeki güncellemeleri kaydeder.

Sonra, example.auto.tfvars öğesini dev.auto.tfvars olarak yeniden adlandırın.

mv example.auto.tfvars dev.auto.tfvars

dev.auto.tfvars dosyasını güncelleyin ve dosyayı düzenlemek için input için i düğmesine basın.

vim dev.auto.tfvars

Görüntünün ardından gelen kırmızı kutudaki alanları, Toplama Hizmeti'ne ilk katılım, ortam ve bildirim e-postası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. Dosya, aşağıdaki resme benzer bir görünümde olacaktır.

güncellenmiş dev auto tfvarsfile

3.4. Toplama Hizmeti 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. Eklenecek kaynak sayısını ve aşağıdaki resme benzer diğer ek bilgileri burada döndürür.

terraform plan

Aşağıdaki "Plan" özetinde görebilirsiniz. Bu yeni bir dağıtımsa eklenecek kaynak sayısını görmeniz gerekir. 0, değiştirilecek 0, kaldırılacak ise 0 değeri gösterilir.

Terraformplan

Bu işlemleri tamamladıktan sonra Terraform'u uygulamaya başlayabilirsiniz.

terraform apply

İşlemlerin Terraform tarafından gerçekleştirilmesini onaylamanız istendiğinde, değere yes girin.

terraform uygulama istemi

terraform apply tamamlandıktan 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 da döndürülür.

terraform uygulama tamamlama

4. Toplama Hizmeti girişi oluşturma

Toplama Hizmeti'nde toplu işlem yapmak için AVRO raporlarını oluşturmaya devam edin.

4. Adım: Toplama Hizmeti Girişi Oluşturma: Toplama Hizmeti için toplu hale getirilen Toplama Hizmeti raporlarını oluşturun.
4.1.Adım Tetikleyici Raporu
Adım 4.2. Toplanabilir raporlar toplama
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 işlem, gizli bir toplama raporunu tetikler. Raporu chrome://private-aggregation-internals adresinden görüntüleyebilirsiniz.

chrome gizli toplama dahilileri

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

Birleştirilebilir raporlarınızı, ilgili API'nizin .well-known uç noktalarından toplayın.

  • Özel Toplama
    [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 için rapor toplamayı manuel olarak yapacaksınız. Üretim aşamasında, reklam teknisyenlerinin raporları programatik olarak 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 değerini içerdiğinden emin olun. Bu, raporun AWS için toplanabilir bir rapor olduğu anlamına gelir.

gizli toplama raporu

JSON "Rapor Gövdesi" dosyasını bir JSON dosyasına yerleştirin. Bu örnekte vim'i kullanabilirsiniz. Ancak, istediğiniz metin düzenleyiciyi kullanabilirsiniz.

vim report.json

Raporu report.json alanına yapıştırın ve dosyanızı kaydedin.

JSON dosyasını bildir

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ıklamayla ilgili toplanabilir raporun oluşturulmasına yardımcı olması için aggregatable_report_converter.jar öğesini kullanın. Bu işlem, geçerli 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 örnekte, site Privacy Sandbox demosu paket anahtarlarını oluşturur. Bu site için gizli toplama hata ayıklama modunda olduğundan, paket anahtarını almak için "Rapor Gövdesindeki" debug_cleartext_payload öğesini kullanabilirsiniz.

Devam edin ve rapor gövdesinden debug_cleartext_payload değerini kopyalayın.

reportbody&#39;deki şifresiz metin yükü hatalarını ayıkla

goo.gle/ags-payload-decoder adresini açın ve debug_cleartext_payload dosyanızı "INPUT" kutusuna yapıştırıp "Decode" (Kodu Çö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 çözme sonucu

Paket anahtarına sahip olduğumuza göre output_domain.avro oluşturma işlemine geçebilirsiniz. öğesini 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ı, 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'ten) ve çıkış alanı (bölüm 3.2.4'ten) oluşturulduktan sonra, raporları ve çıkış alanını raporlama S3 paketlerine taşımaya devam edin.

Yerel ortamınızda AWS CLI kurulumu 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 itibarıyla create_job_endpoint, get_job_endpoint ve frontend_api_id döndürüldü. frontend_api_id değerini kopyalayın ve ön koşul bölümü 1.9'da ayarladığınız postman genel değişkenine (frontend_api_id) yerleştirin.

5. Adım: Toplama Hizmeti Kullanımı: Özet raporları oluşturmak ve özet raporlarını incelemek için Aggregation Service API'yi kullanın.
5.1.Adım Toplu işlem için createjob Endpoint'i kullanma
Adım 5.2. Grup durumunu almak için getjob Endpoint'i kullanma
Adım 5.3. Özet Raporu İnceleme

5.1. Toplu işlem için createJob uç noktası kullanılıyor

Postman'da "Privacy Sandbox" koleksiyonunu açın ve "createjob"u seçin.

İstek yükünüzü yerleştirmek için "Body" öğesini ve ardından "RAW"yu seçin.

postacı createjob requestbody

createJob yük şeması, github'da bulunur 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": "<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 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ı, HTTP yanıt kodlarında bulunabilir

postacı createjob istek durumu

5.2. Toplu durumu almak için getjob Endpoint'i kullanma

İş isteğinin durumunu kontrol etmek için getJob uç noktasını kullanabilirsiniz. "getJob" koleksiyonunda "getJob"u 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 öğesinin sonucu, iş isteğinizin durumunu HTTP durumu 200 ile döndürmelidir. "Gövde" isteği; job_status, return_message ve error_messages (işte hata oluştuysa) gibi gerekli bilgileri içerir.

postacı getjob requeststatus .

Oluşturulan demo raporunun raporlama sitesi, AWS kimliğinizdeki ilk katılım aşamasından farklı olduğundan PRIVACY_BUDGET_AUTHORIZATION_ERROR return_code'i içeren bir yanıt alabilirsiniz. Raporların raporlama kaynağının sitesi, AWS kimliği için kabul edilen raporlama sitesiyle eşleşmediğinden bu 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_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"
    },
    "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. Aşağıdaki komutu kullanarak raporunuzu okumak için aggregatable_report_converter.jar komutunu kullanabilirsiniz.

java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>

Bu, aşağıdaki resme benzer şekilde görünen her paket anahtarının birleştirilmiş değerlerini içeren bir JSON döndürür.

özet rapor

createJob isteğinizde true olarak debug_run bulunuyorsa özet raporunuzu output_data_blob_prefix konumundaki hata ayıklama klasöründe bulabilirsiniz. Rapor AVRO biçimindedir ve önceki komut kullanılarak JSON'a dönüştürülebilir.

Raporda grup anahtarı, gürültüsüz metrik ve özet raporu oluşturmak için gürültüsüz metriğe eklenen gürültü yer alır. Rapor aşağıdaki resme benzer.

hata ayıklama özeti raporu

Ek açıklamalarda in_reports ve in_domain değerleri de bulunmaktadır. Bu, şu anlama gelir:

  • in_reports: Paket anahtarı, toplanabilir raporların içinde bulunur.
  • in_domain: Paket anahtarı, exit_domain AVRO dosyasının içinde yer alır.