AWS'de Toplama Hizmeti ile çalışma

1. Ön koşullar

Bu Codelab'i tamamlamak için birkaç ön koşulu karşılamanız gerekir. Her şart, "Yerel Test" veya "Toplama Hizmeti" için gerekli olup olmadığına göre işaretlenir.

1.1. Yerel Test Aracı'nı indirme (Yerel Test)

Yerel test için Yerel Test Aracı'nın indirilmesi gerekir. Araç, şifrelenmemiş hata ayıklama raporlarından özet raporlar oluşturur.

Yerel test aracı, GitHub'daki Lambda JAR Arşivleri'nden indirilebilir. Dosya LocalTestingTool_{version}.jar olarak adlandırılmalıdır.

1.2. JAVA JRE'nin yüklü olduğundan emin olun (Yerel Test ve Toplama Hizmeti)

"Terminal"i açın ve makinenizde Java veya openJDK'nın yüklü olup olmadığını kontrol etmek için java --version simgesini kullanın.

java\n--version 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) indirme

Toplanabilir rapor dönüştürücünün bir kopyasını Privacy Sandbox Demos Github deposundan indirebilirsiniz.

1.4. Reklam Gizliliği API'lerini (Yerel Test ve Toplama Hizmeti) etkinleştirme

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

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

Tarayıcınızda chrome://settings/cookies simgesine gidip "Gizli modda üçüncü taraf çerezlerini engelle"yi seçin.

third party cookie chromesetting

1.5. Web ve Android kaydı (Aggregation Service)

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

Yerel test için kayıt, Chrome işareti ve KSA anahtarı kullanılarak devre dışı bırakılabilir.

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

privacy sandbox enrollment override chromeflag

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

Toplama Hizmeti'nin kullanılabilmesi için koordinatörlerin oryantasyon eğitimini tamamlaması gerekir. Raporlama sitenizin adresini, AWS hesap kimliğinizi ve diğer bilgileri sağlayarak Toplama Hizmeti İlk Kayıt Formu'nu doldurun.

1.7. Bulut sağlayıcı (Aggregation Service)

Toplama Hizmeti, bulut ortamı kullanan bir Güvenilir Yürütme Ortamı'nın kullanılmasını gerektirir. Toplama hizmeti Amazon Web Services (AWS) ve Google Cloud (GCP)'de desteklenir. Bu Codelab yalnızca AWS entegrasyonunu kapsar.

AWS, Nitro Enclaves adlı bir Güvenilir Yürütme Ortamı sağlar. AWS hesabınız olduğundan emin olun ve AWS CLI ortamınızı ayarlamak için AWS CLI yükleme ve güncelleme talimatlarını uygulayın.

AWS CLI'niz yeniyse CLI Yapılandırma talimatlarını kullanarak AWS CLI'nizi yapılandırabilirsiniz.

1.7.1. AWS S3 paketi oluşturma

Terraform durumunu depolamak için bir AWS S3 paketi ve raporlarınızı ve özet raporlarınızı depolamak için başka bir S3 paketi oluşturun. Sağlanan CLI komutunu kullanabilirsiniz. <> alanındaki alanı uygun değişkenlerle değiştirin.

aws s3api create-bucket --bucket <tf_bucket_name> --region us-east-1
aws s3api create-bucket --bucket <report_bucket_name> --region us-east-1

1.7.2. Kullanıcı erişim anahtarı oluşturma

AWS kılavuzunu kullanarak kullanıcı erişim anahtarları oluşturun. Bu, AWS'de oluşturulan createJob ve getJob API uç noktalarını çağırmak için kullanılır.

1.7.3. AWS kullanıcı ve grup izinleri

AWS'de toplama hizmetini dağıtmak için hizmeti dağıtmak amacıyla kullanılan kullanıcıya belirli izinler vermeniz gerekir. Bu Codelab'de, dağıtımda tam izinlere sahip olmak için kullanıcının Yönetici Erişimi'ne sahip olduğundan emin olun.

1.8. Terraform (Aggregation Service)

Bu Codelab'de, toplama hizmetini dağıtmak için Terraform kullanılır. Terraform ikili dosyasının yerel ortamınıza yüklendiğinden emin olun.

Terraform ikili programını yerel ortamınıza indirin.

Terraform ikili dosyası indirildikten sonra dosyayı açın ve Terraform ikili dosyasını /usr/local/bin konumuna taşıyın.

cp <directory>/terraform /usr/local/bin

Terraform'un sınıf yolu üzerinde bulunduğundan emin olun.

terraform -v

1.9. Postman (Aggregation Service AWS için)

Bu Codelab'de istek yönetimi için Postman'ı kullanın.

Üst gezinme menüsündeki "Çalışma Alanları"na gidip "Çalışma Alanı Oluştur"u seçerek bir çalışma alanı oluşturun.

postmanworkspace

"Boş çalışma alanı"nı seçin, İleri'yi tıklayın ve çalışma alanına "Gizlilik korumalı alan" adını verin. "Kişisel"i seçin ve "Oluştur"u tıklayın.

Önceden yapılandırılmış çalışma alanı JSON yapılandırmasını ve Küresel Ortam dosyalarını indirin.

"İçe Aktar" düğmesini kullanarak JSON dosyalarını "Çalışma Alanım"a aktarın.

Postman JSON dosyalarını içe aktarma

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

postman importedcollection

"Ortama hızlı bakış" üzerinden AWS "Erişim Anahtarı"nı 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" için "Mevcut Değer"i güncelleyin. frontend_api_id değerinin bu dokümanın 3.1.4 numaralı bölümünde sağlanacağını unutmayın. Ayrıca us-east-1 bölgesini kullanmanızı öneririz. Ancak farklı bir bölgede dağıtmak istiyorsanız yayınlanan AMI'yi hesabınıza kopyaladığınızdan veya sağlanan komut dosyalarını kullanarak kendi kendinize derleme yaptığınızdan emin olun.

postman globalvariables

postman edit globalvariables

2. Yerel Test Codelab'i

Şifrelenmemiş hata ayıklama raporlarını kullanarak toplama işlemi yapmak ve özet raporlar oluşturmak için makinenizdeki yerel test aracını kullanabilirsiniz.

Codelab Adımları

2.1. adım. Raporu tetikle: Raporu toplayabilmek için Gizli Toplama raporlamasını tetikleyin.

2.2. adım. Toplanan JSON raporunu AVRO biçimli bir rapora dönüştürerek hata ayıklama için birleştirilebilir rapor oluşturun.
Bu adım, reklam teknolojilerinin API raporlama uç noktalarından raporları toplayıp JSON raporları AVRO biçimli raporlara dönüştürmesine benzer.

2.3. adım. Hata ayıklama raporundan paket anahtarını ayrıştırın: Paket anahtarları reklam teknolojileri tarafından tasarlanır. Bu kod laboratuvarında, paketler önceden tanımlandığından paket anahtarlarını sağlandığı şekilde alın.

2.4. adım. Çıkış alanı AVRO dosyasını oluşturun: Paket anahtarları alındıktan sonra çıkış alanı AVRO dosyasını oluşturun.

2.5. adım. Yerel test aracını kullanarak özet raporlar oluşturma: Yerel ortamda özet rapor oluşturmak için yerel test aracını kullanın.

2.6. adım. Özet raporu inceleyin: Yerel Test Aracı tarafından oluşturulan özet raporu inceleyin.

2.1. Tetikleyici raporu

Privacy Sandbox demo sitesine gidin. Bu işlem, gizli bir toplama raporunu tetikler. Raporu chrome://private-aggregation-internals adresinden görüntüleyebilirsiniz.

chrome private aggregationinternals

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

send private aggregationreport

2.2. Toplanabilir hata ayıklama raporu oluşturma

chrome://private-aggregation-internals içinde, [reporting-origin]/.well-known/private-aggregation/report-shared-storage uç noktasında alınan "Rapor Gövdesi"ni kopyalayın.

"Rapor Gövdesi" bölümündeki aggregation_coordinator_origin öğesinin https://publickeyservice.msmt.aws.privacysandboxservices.com içerdiğinden emin olun. Bu, raporun AWS'de toplanabilir bir rapor olduğu anlamına gelir.

private aggregationreport

JSON "Rapor İçeriği"ni bir JSON dosyasına yerleştirin. Bu örnekte vim'i kullanabilirsiniz. Ancak istediğiniz metin düzenleyiciyi kullanabilirsiniz.

vim report.json

Raporu report.json içine yapıştırın ve dosyanızı kaydedin.

rapor JSON dosyası

Bu işlemi tamamladıktan sonra rapor klasörünüze gidin ve toplanabilir hata ayıklama raporu oluşturmak için aggregatable_report_converter.jar simgesini kullanın. Bu işlem, mevcut dizininizde report.avro adlı toplanabilir bir rapor oluşturur.

java -jar aggregatable_report_converter.jar \
 --request_type convertToAvro \
 --input_file report.json \
 --debug

2.3. Hata ayıklama raporundan paket anahtarını ayrıştırma

Toplama Hizmeti, toplu işlem yaparken iki dosya gerektirir. Toplanabilir rapor ve çıkış alan adı dosyası. Çıkış alan dosyası, birleştirilebilir raporlardan almak istediğiniz anahtarları içerir. output_domain.avro dosyasını oluşturmak için raporlardan alınabilecek paket anahtarlarına ihtiyacınız vardır.

Paket anahtarları, API'yi çağıran kullanıcı tarafından tasarlanır. Demo, önceden oluşturulmuş örnek paket anahtarları içerir. Demoda Özel Toplama için hata ayıklama modu etkinleştirildiğinden, paket anahtarını almak için "Rapor Gövdesi"ndeki hata ayıklama açık metin yükünü ayrıştırabilirsiniz. Ancak bu durumda, privacy sandbox demo sitesi paket anahtarlarını oluşturur. Bu site için özel toplama hata ayıklama modunda olduğundan, paket anahtarını almak için "Rapor Gövdesi"ndeki debug_cleartext_payload öğesini kullanabilirsiniz.

Rapor gövdesinden debug_cleartext_payload öğesini kopyalayın.

reportbody öğesinden açık metin yükünü hata ayıklama

Gizli Toplama için Hata Ayıklama Yük Kodu Çözücü aracını açın ve debug_cleartext_payload'nizi "GİRİŞ" kutusuna yapıştırın, ardından "Kod Çöz"ü tıklayın.

payloaddecoder

Sayfa, paket anahtarının ondalık değerini döndürür. Aşağıda örnek bir paket anahtarı verilmiştir.

payload decoderresult

2.4. Çıkış alanını AVRO olarak oluşturun

Paket anahtarına sahip olduğumuza göre, paket anahtarının ondalık değerini kopyalayın. Paket anahtarını kullanarak output_domain.avro oluşturmaya devam edin. değerini, aldığınız paket anahtarıyla değiştirdiğinizden emin olun.

java -jar aggregatable_report_converter.jar \
 --request_type createDomainAvro \
 --bucket_key <bucket key>

Komut dosyası, output_domain.avro dosyasını mevcut klasörünüzde oluşturur.

2.5. Yerel Test Aracı'nı kullanarak özet raporlar oluşturma

Özet raporları oluşturmak için 1.1 Bölümü'nde indirilen LocalTestingTool_{version}.jar dosyasını kullanacağız. Aşağıdaki komutu kullanın. LocalTestingTool_{version}.jar değerini, LocalTestingTool için indirilen sürümle değiştirmeniz gerekir.

Yerel geliştirme ortamınızda özet rapor oluşturmak için aşağıdaki komutu çalıştırın:

java -jar LocalTestingTool_{version}.jar \
--input_data_avro_file report.avro \
--domain_avro_file output_domain.avro \
--output_directory .

Komut çalıştırıldığında aşağıdaki resme benzer bir görüntü görürsünüz. Bu işlem tamamlandığında bir rapor output.avro oluşturulur.

yerel test özeti raporu avro dosyası

2.6. Özet raporu inceleme

Oluşturulan özet rapor AVRO biçimindedir. Bunu okuyabilmek için AVRO'dan JSON biçimine dönüştürmeniz gerekir. İdeal olarak reklam teknolojisi, AVRO raporlarını JSON'a dönüştürecek şekilde kodlanmalıdır.

Codelab'imizde, AVRO raporunu JSON'a dönüştürmek için sağlanan aggregatable_report_converter.jar aracını kullanacağız.

java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file output.avro

Bu işlem, aşağıdaki resme benzer bir rapor döndürür. Aynı dizinde oluşturulan bir output.json raporu da eklenir.

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

Özet raporu incelemek için JSON dosyasını istediğiniz bir düzenleyicide açın.

3. Toplama Hizmeti dağıtımı

Toplama Hizmeti'ni dağıtmak için aşağıdaki adımları uygulayın:

3. adım: Aggregation Service Dağıtımı: Aggregation Service'i AWS'de dağıtma
3.1. adım. Toplama Hizmeti Deposunu Klonlama
3.2. adım. Önceden oluşturulmuş bağımlılıkları indirin
3.3. adım. Geliştirme ortamı oluşturma
3.4. adım. Toplama Hizmeti'ni dağıtma

3.1. Aggregation Service deposunu klonlama

Yerel ortamınızda Aggregation Service GitHub deposunu klonlayın.

git clone https://github.com/privacysandbox/aggregation-service.git

3.2. Önceden oluşturulmuş bağımlılıkları indirme

Toplama Hizmeti deposunu klonladıktan sonra, deponun Terraform klasörüne ve ilgili bulut klasörüne gidin. cloud_provider değeriniz AWS ise /terraform/aws bölümüne geçebilirsiniz.

cd <repository_root>/terraform/aws

/terraform/aws içinde download_prebuilt_dependencies.sh'i çalıştırın.

bash download_prebuilt_dependencies.sh

3.3. Geliştirme ortamı oluşturma

/terraform/aws/environments'te bir geliştirme ortamı oluşturun. dev adlı bir klasör oluşturun.

mkdir dev

demo klasörünün içeriğini dev klasörüne kopyalayın.

cp -R demo/* dev

dev klasörünüze taşıyın.

cd dev

main.tf dosyanızı güncelleyin ve input'nin dosyayı düzenlemesi için i tuşuna basın.

vim main.tf

# işaretini kaldırarak ve paket ile anahtar adlarını güncelleyerek kırmızı kutudaki kodun yorumunu kaldırın.

AWS main.tf için:

AWS ana tf dosyası

Yorumları kaldırılmış kod aşağıdaki gibi görünmelidir.

backend "s3" {
  bucket = "<tf_state_bucket_name>"
  key    = "<environment_name>.tfstate"
  region = "us-east-1"
}

Güncellemeler tamamlandıktan sonra esc -> :wq! düğmesine basarak güncellemeleri kaydedin ve düzenleyiciden çıkın. Bu işlem, güncellemeleri main.tf'e kaydeder.

Ardından example.auto.tfvars dosyasını dev.auto.tfvars olarak yeniden adlandırın.

mv example.auto.tfvars dev.auto.tfvars

dev.auto.tfvars'yi güncelleyin ve input'nin dosyayı düzenlemesi için i tuşuna basın.

vim dev.auto.tfvars

Aşağıdaki resimde gösterilen kırmızı kutudaki alanları, Toplama Hizmeti oryantasyon, ortam ve bildirim e-postası sırasında sağlanan doğru AWS ARN parametreleriyle güncelleyin.

edit dev auto tfvarsfile

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 tfvarsfile

3.4. Toplama Hizmeti'ni dağıtma

Toplama hizmetini dağıtmak için aynı klasörde /terraform/aws/environments/dev Terraform'u başlatın.

terraform init

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

terraforminit

Terraform başlatıldıktan sonra Terraform yürütme planını oluşturun. Bu işlev, eklenecek kaynak sayısını ve aşağıdaki resme benzer diğer ek bilgileri döndürür.

terraform plan

Aşağıda "Plan" özetini görebilirsiniz. Bu yeni bir dağıtımsa eklenecek kaynak sayısını, değiştirilecek kaynak sayısı 0 ve kaldırılacak kaynak sayısı 0 olarak görürsünüz.

terraformplan

Bunu tamamladıktan sonra Terraform'u uygulamaya devam edebilirsiniz.

terraform apply

Terraform tarafından işlemlerin yapılacağını onaylamanız istendiğinde değere bir yes girin.

terraform applyprompt

terraform apply tamamlandıktan sonra createJob ve getJob için aşağıdaki uç noktalar döndürülür. 1.9 numaralı bölümde Postman'da güncellemeniz gereken frontend_api_id değeri de döndürülür.

terraform applycomplete

4. Toplama Hizmeti girişi oluşturma

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

4. adım: Aggregation Service Giriş Oluşturma: Aggregation Service için toplu olarak oluşturulan Aggregation Service raporlarını oluşturun.
4.1. adım. Tetikleyici Raporu
4.2. Adım. Toplanabilir raporlar toplama
4.3. adım. Raporları AVRO'ya dönüştürme
4.4. adım. Çıkış alanını AVRO olarak oluşturun

4.1. Tetikleyici raporu

Özel Korumalı Alan demo sitesine gidin. Bu işlem, gizli bir toplama raporunu tetikler. Raporu chrome://private-aggregation-internals adresinden görüntüleyebilirsiniz.

chrome private aggregationinternals

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

send private aggregationreport

4.2. Toplanabilir raporlar toplama

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

  • Private Aggregation
    [reporting-origin] /.well-known/private-aggregation/report-shared-storage
  • İlişkilendirme Raporları - Özet Raporu
    [reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution

Bu Codelab'de rapor toplama işlemini manuel olarak gerçekleştireceksiniz. Üretimde reklam teknolojilerinin raporları programatik olarak toplayıp dönüştürmesi beklenir.

chrome://private-aggregation-internals içinde, [reporting-origin]/.well-known/private-aggregation/report-shared-storage uç noktasında alınan "Rapor Gövdesi"ni kopyalayın.

"Rapor Gövdesi" bölümündeki aggregation_coordinator_origin öğesinin https://publickeyservice.msmt.aws.privacysandboxservices.com içerdiğinden emin olun. Bu, raporun AWS'de toplanabilir bir rapor olduğu anlamına gelir.

private aggregationreport

JSON "Rapor İçeriği"ni bir JSON dosyasına yerleştirin. Bu örnekte vim'i kullanabilirsiniz. Ancak istediğiniz metin düzenleyiciyi kullanabilirsiniz.

vim report.json

Raporu report.json içine yapıştırın ve dosyanızı kaydedin.

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 toplanabilir hata ayıklama raporu oluşturmak için aggregatable_report_converter.jar simgesini kullanın. Bu işlem, mevcut dizininizde report.avro adlı toplanabilir bir rapor oluşturur.

java -jar aggregatable_report_converter.jar \
 --request_type convertToAvro \
 --input_file report.json

4.4 Çıkış alanını AVRO olarak oluşturun

output_domain.avro dosyasını oluşturmak için raporlardan alınabilecek paket anahtarlarına ihtiyacınız vardır.

Grup anahtarları reklam teknolojisi tarafından tasarlanır. Ancak bu durumda grup anahtarları Özel Korumalı Alan demosu sitesi tarafından oluşturulur. Bu site için özel toplama hata ayıklama modunda olduğundan, paket anahtarını almak için "Rapor Gövdesi"ndeki debug_cleartext_payload öğesini kullanabilirsiniz.

Rapor gövdesinden debug_cleartext_payload öğesini kopyalayın.

reportbody&#39;den açık metin yükünü hata ayıklama

goo.gle/ags-payload-decoder adresini açın, debug_cleartext_payload dosyanızı "GİRİŞ" kutusuna yapıştırın ve "Kod çöz"ü tıklayın.

payloaddecoder

Sayfa, paket anahtarının ondalık değerini döndürür. Aşağıda örnek bir paket anahtarı verilmiştir.

payload decoderresult

Paket anahtarına sahip olduğumuza göre output_domain.avro dosyasını oluşturabilirsiniz. değerini, aldığınız paket anahtarıyla değiştirdiğinizden emin olun.

java -jar aggregatable_report_converter.jar \
 --request_type createDomainAvro \
 --bucket_key <bucket key>

Komut dosyası, output_domain.avro dosyasını mevcut klasörünüzde oluşturur.

4.5. Raporları AWS paketine taşıma

AVRO raporları (3.2.3 numaralı bölümden) ve çıkış alanı (3.2.4 numaralı bölümden) oluşturulduktan sonra raporları ve çıkış alanını raporlama S3 paketlerine taşımaya devam edin.

Yerel ortamınızda AWS CLI kuruluysa raporları ilgili S3 paketine ve rapor klasörüne kopyalamak için aşağıdaki komutları kullanın.

aws s3 cp report.avro s3://<report_bucket_name>/<report_folder>/
aws s3 cp output_domain.avro s3://<report_bucket_name>/<output_domain_folder>/

5. Toplama Hizmeti kullanımı

terraform apply'ten create_job_endpoint, get_job_endpoint ve frontend_api_id döndürülür. frontend_api_id değerini kopyalayıp 1.9 ön koşulu bölümünde ayarladığınız Postman global değişkeni frontend_api_id'e yerleştirin.

5. adım: Aggregation Service Kullanımı: Özet raporlar oluşturmak ve özet raporları incelemek için Aggregation Service API'yi kullanın.
5.1. adım. Gruplandırma için createJob uç noktasını kullanma
5.2. adım. Toplu iş durumunu almak için getJob uç noktasını kullanma
5.3. adım. Özet raporu inceleme

5.1. Gruplandırma için createJob uç noktasını kullanma

Postman'da "Privacy Sandbox" koleksiyonunu açıp "createJob"u seçin.

İsteğinizin yükünü yerleştirmek için "Body"yi ve ardından "raw"ı seçin.

postman createJob requestbody

createJob yük şeması github'da mevcuttur ve aşağıdakine benzer. <> değerini uygun alanlarla değiştirin.

{
  "job_request_id": "<job_request_id>",
  "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
  "input_data_bucket_name": "<bucket_name>",
  "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
  "output_data_bucket_name": "<bucket_name>",
  "job_parameters": {
    "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
    "output_domain_bucket_name": "<bucket_name>",
    "attribution_report_to": "<reporting origin of report>",
    "reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
    "report_error_threshold_percentage": "10",
    "debug_run": "true"
  }
}

"Gönder"i tıkladığınızda job_request_id ile iş oluşturulur. İstek toplama hizmeti tarafından kabul edildiğinde bir HTTP 202 yanıtı alırsınız. Diğer olası döndürme kodlarını HTTP yanıt kodları bölümünde bulabilirsiniz.

postman createJob requeststatus

5.2. Grup durumunu almak için getJob uç noktasını kullanma

İş isteğinin durumunu kontrol etmek için getJob uç noktasını kullanabilirsiniz. "Gizlilik Korumalı Alan" koleksiyonunda "getJob"u seçin.

"Params" bölümünde, job_request_id değerini createJob isteğinde gönderilen job_request_id ile güncelleyin.

postman getJobrequest

getJob sonucu, iş isteğinizin durumunu 200 HTTP durumuyla döndürmelidir. "Body" isteği, job_status, return_message ve error_messages (iş hatayla sona erdiyse) gibi gerekli bilgileri içerir.

postman getJob requeststatus

Oluşturulan demo raporun raporlama sitesi, AWS kimliğinizdeki ilk katılım sitenizden farklı olduğundan PRIVACY_BUDGET_AUTHORIZATION_ERROR return_code içeren bir yanıt alabilirsiniz. Raporların raporlama kaynağının sitesi, AWS kimliği için ilk katılım yapılan raporlama sitesiyle eşleşmediğinden bu normal bir durumdur.

{
    "job_status": "FINISHED",
    "request_received_at": "2023-12-07T22:50:58.830956Z",
    "request_updated_at": "2023-12-07T22:51:10.526326456Z",
    "job_request_id": "<job_request_id>",
    "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
    "input_data_bucket_name": "<input_bucket_name>",
    "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
    "output_data_bucket_name": "<output_bucket_name>",
    "postback_url": "",
    "result_info": {
        "return_code": "PRIVACY_BUDGET_AUTHORIZATION_ERROR",
        "return_message": "Aggregation job successfully processed",
        "error_summary": {
            "error_counts": [],
            "error_messages": []
        },
        "finished_at": "2023-12-07T22:51:10.517730898Z"
    },
    "job_parameters": {
        "debug_run": "true",
        "output_domain_bucket_name": "<output_domain_bucket_name>",
        "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
        "attribution_report_to": "https://privacy-sandbox-demos-dsp.dev",
        "reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
    },
    "request_processing_started_at": "2023-12-07T22:51:06.034472697Z"
}

5.3. Özet raporu inceleme

Özet raporunuzu çıkış S3 paketinizde aldıktan sonra yerel ortamınıza indirebilirsiniz. Özet raporlar AVRO biçimindedir ve JSON'a geri dönüştürülebilir. Aşağıdaki komutu kullanarak raporunuzu okumak için aggregatable_report_converter.jar kullanabilirsiniz.

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

Bu işlem, her bir paket anahtarının toplu değerlerini içeren ve aşağıdaki resme benzeyen bir JSON döndürür.

summaryreport

createJob isteğiniz debug_run değerini true olarak içeriyorsa özet raporunuzu output_data_blob_prefix klasöründeki hata ayıklama klasöründe alabilirsiniz. Rapor AVRO biçimindedir ve önceki komut kullanılarak JSON'a dönüştürülebilir.

Rapor, grup anahtarını, gürültü içermeyen metriği ve özet raporu oluşturmak için gürültü içermeyen metriğe eklenen gürültüyü içerir. Rapor aşağıdaki resme benzer.

hata ayıklama summaryreport

Ek açıklamalarda in_reports ve in_domain da bulunur. Bunlar şu anlama gelir:

  • in_reports: Gruplandırma anahtarı, toplanabilir raporlarda kullanılabilir.
  • in_domain: Paket anahtarı, output_domain AVRO dosyasında bulunur.