Menggunakan Layanan Agregasi di AWS

1. Prasyarat

Untuk melakukan Codelab ini, beberapa prasyarat diperlukan. Setiap persyaratan ditandai dengan sesuai apakah diperlukan untuk "Pengujian Lokal" atau "Layanan Agregasi".

1.1. Download Alat Pengujian Lokal (Pengujian Lokal)

Pengujian Lokal akan memerlukan download Alat Pengujian Lokal. Alat ini akan membuat laporan ringkasan dari laporan debug yang tidak dienkripsi.

Alat Pengujian Lokal tersedia untuk didownload di Lambda JAR Archives di GitHub. Atribut ini harus diberi nama LocalTestingTool_{version}.jar.

1.2. Pastikan JAVA JRE diinstal (Layanan Pengujian dan Agregasi Lokal)

Buka "Terminal" dan gunakan java --version untuk memeriksa apakah komputer Anda telah menginstal Java atau openJDK.

memeriksa versi java jre menggunakan versi java\n--

Jika tidak terinstal, Anda dapat mendownload dan menginstal dari situs Java atau situs openJDK.

1.3. Download Pengonversi Laporan Agregat (Layanan Pengujian dan Agregasi Lokal)

Anda dapat mendownload salinan pengonversi laporan agregat dari repositori GitHub Demo Privacy Sandbox.

1.4. Mengaktifkan API Privasi Iklan (Layanan Pengujian Lokal dan Agregasi)

Di browser Anda, buka chrome://settings/adPrivacy dan aktifkan semua API Privasi Iklan.

Pastikan cookie pihak ketiga diaktifkan.

Di browser Anda, buka chrome://settings/cookies, dan pilih "Blokir cookie pihak ketiga dalam mode Samaran".

setelan chrome cookie pihak ketiga

1.5. Pendaftaran Web dan Android (Layanan Agregasi)

Untuk menggunakan API Privacy Sandbox di lingkungan produksi, pastikan Anda telah menyelesaikan pendaftaran dan pengesahan untuk Chrome dan Android.

Untuk pengujian lokal, pendaftaran dapat dinonaktifkan menggunakan flag chrome dan tombol CLI.

Untuk menggunakan tanda Chrome untuk demo kami, buka chrome://flags/#privacy-sandbox-enrollment-overrides dan perbarui penggantian dengan situs Anda, atau jika Anda akan menggunakan situs demo kami, pembaruan tidak diperlukan.

pendaftaran privacy sandbox mengganti chromeflag

1.6. Orientasi Layanan Agregasi (Layanan Agregasi)

Layanan Agregasi memerlukan orientasi agar koordinator dapat menggunakan layanan. Lengkapi formulir Orientasi Layanan Agregasi dengan memberikan alamat situs pelaporan, ID Akun AWS, dan informasi lainnya.

1.7. Penyedia cloud (Layanan Agregasi)

Layanan Agregasi memerlukan penggunaan Trusted Execution Environment yang menggunakan lingkungan cloud. Layanan agregasi didukung di Amazon Web Services (AWS) dan Google Cloud (GCP). Codelab ini hanya akan mencakup integrasi AWS.

AWS menyediakan Trusted Execution Environment yang disebut Nitro Enclaves. Pastikan Anda memiliki akun AWS dan ikuti petunjuk penginstalan dan update CLI AWS untuk menyiapkan lingkungan AWS CLI Anda.

Jika AWS CLI Anda baru, Anda dapat mengonfigurasi AWS CLI menggunakan Petunjuk Konfigurasi CLI.

1.7.1. Membuat bucket AWS S3

Membuat Bucket AWS S3 untuk menyimpan status Terraform, dan bucket S3 lainnya untuk menyimpan laporan serta laporan ringkasan Anda. Anda dapat menggunakan perintah CLI yang disediakan. Ganti kolom di <> ke variabel yang tepat.

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. Buat kunci akses pengguna

Buat kunci akses pengguna menggunakan panduan AWS. API ini akan digunakan untuk memanggil endpoint API createJob dan getJob yang dibuat di AWS.

1.7.3. Izin pengguna dan grup AWS

Untuk men-deploy Layanan Agregasi di AWS, Anda harus memberikan izin tertentu kepada pengguna yang digunakan untuk men-deploy layanan. Untuk Codelab ini, pastikan pengguna memiliki Akses Administrator untuk memastikan izin penuh dalam deployment.

1,8. Terraform (Layanan Agregasi)

Codelab ini menggunakan Terraform untuk men-deploy Layanan Agregasi. Pastikan biner Terraform diinstal ke lingkungan lokal Anda.

Download biner Terraform ke lingkungan lokal Anda.

Setelah biner Terraform didownload, ekstrak file dan pindahkan biner Terraform ke /usr/local/bin.

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

Periksa untuk memastikan bahwa Terraform tersedia di classpath.

terraform -v

1,9. Postman (Untuk Layanan Agregasi AWS)

Untuk Codelab ini, gunakan Postman untuk pengelolaan permintaan.

Buat ruang kerja dengan membuka "Ruang Kerja" item navigasi atas, lalu pilih "Create Workspace".

tukang posworkspace

Pilih "Ruang kerja kosong", klik berikutnya, lalu beri nama "Privacy Sandbox". Pilih "Pribadi" dan klik "Buat".

Download file konfigurasi JSON dan Lingkungan Global ruang kerja yang telah dikonfigurasi sebelumnya.

Impor file JSON ke "Ruang Kerja Saya" menggunakan "Import" tombol.

impor file JSON tukang pos

Tindakan ini akan membuat kumpulan Privacy Sandbox untuk Anda bersama dengan permintaan HTTP createJob dan getJob.

koleksi tukang pos diimpor

Memperbarui "Access Key" AWS dan "Secret Key" melalui "Tampilan cepat lingkungan".

tinjauan singkat lingkungan tukang pos

Klik "Edit" dan perbarui "Nilai Saat Ini" dari "access_key" dan "secret_key". Perhatikan bahwa frontend_api_id akan diberikan di bagian 3.1.4 dokumen ini. Kami juga menyarankan untuk menggunakan region us-east-1. Namun, jika ingin melakukan deployment di region yang berbeda, pastikan Anda menyalin AMI yang dirilis ke akun atau melakukan build mandiri menggunakan skrip yang disediakan.

variabel global tukang pos

tukang pos edit variabel global

2. Codelab Pengujian Lokal

Anda dapat menggunakan alat pengujian lokal di mesin untuk melakukan agregasi dan membuat laporan ringkasan menggunakan laporan debug yang tidak dienkripsi.

Langkah-Langkah Codelab

Langkah 2.1. Laporan pemicu: Memicu pelaporan Agregasi Pribadi agar dapat mengumpulkan laporan.

Langkah 2.2. Buat laporan agregat debug: Konversi laporan JSON yang dikumpulkan menjadi laporan berformat AVRO.
Langkah ini akan serupa dengan ketika teknologi iklan mengumpulkan laporan dari endpoint pelaporan API dan mengonversi laporan JSON menjadi laporan berformat AVRO.

Langkah 2.3. Mengurai kunci bucket dari laporan debug: Kunci bucket dirancang oleh teknologi iklan. Dalam codelab ini, karena bucket telah ditentukan sebelumnya, ambil kunci bucket seperti yang disediakan.

Langkah 2.4. Buat domain output AVRO: Setelah kunci bucket diambil, buat file AVRO Domain Output.

Langkah 2.5. Buat laporan ringkasan menggunakan Alat Pengujian Lokal: Gunakan Alat Pengujian Lokal agar dapat membuat Laporan Ringkasan di Lingkungan Lokal.

Langkah 2.6. Tinjau laporan ringkasan: Tinjau Laporan Ringkasan yang dibuat oleh Alat Pengujian Lokal.

2.1. Laporan pemicu

Buka situs demo Privacy Sandbox. Tindakan ini akan memicu laporan agregasi pribadi. Anda dapat melihat laporan tersebut di chrome://private-aggregation-internals.

agregasi pribadi chrome

Jika laporan Anda berstatus "Tertunda" Anda dapat memilih laporan, lalu mengklik "Kirim Laporan yang Dipilih".

kirim laporan agregasi pribadi

2.2. Buat laporan agregat debug

Di chrome://private-aggregation-internals, salin "Isi Laporan" diterima di endpoint [reporting-origin]/.well-known/private-aggregation/report-shared-storage.

Pastikan di "Isi Laporan", aggregation_coordinator_origin berisi https://publickeyservice.msmt.aws.privacysandboxservices.com, yang berarti laporan tersebut adalah laporan gabungan AWS.

laporan agregasi pribadi

Tempatkan "Isi Laporan" JSON dalam file JSON. Dalam contoh ini, Anda dapat menggunakan vim. Tetapi Anda dapat menggunakan editor teks apa pun yang Anda inginkan.

vim report.json

Tempel laporan ke report.json dan simpan file Anda.

melaporkan file JSON

Setelah memilikinya, buka folder laporan Anda dan gunakan aggregatable_report_converter.jar untuk membantu membuat laporan agregat debug. Tindakan ini akan membuat laporan gabungan yang disebut report.avro di direktori Anda saat ini.

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

2.3. Mengurai kunci bucket dari laporan debug

Layanan Agregasi memerlukan dua file saat pengelompokan. Laporan agregat dan file domain output. File domain output berisi kunci yang ingin Anda ambil dari laporan agregat. Untuk membuat file output_domain.avro, Anda memerlukan kunci bucket yang dapat diambil dari laporan.

Kunci bucket dirancang oleh pemanggil API, dan demo berisi kunci bucket contoh yang telah dibuat sebelumnya. Karena demo telah mengaktifkan mode debug untuk Agregasi Pribadi, Anda dapat mengurai payload cleartext debug dari "Isi Laporan" untuk mengambil kunci bucket. Namun, dalam kasus ini, demo Privacy Sandbox situs akan membuat kunci bucket. Karena agregasi pribadi untuk situs ini berada dalam mode debug, Anda dapat menggunakan debug_cleartext_payload dari "Isi Laporan" untuk mendapatkan kunci bucket.

Salin debug_cleartext_payload dari isi laporan.

men-debug payload cleartext dari reportbody

Buka alat Debug payload decoder for Private Aggregation, lalu tempel debug_cleartext_payload Anda di "INPUT" kotak teks dan klik "Decode".

payloaddecoder

Halaman akan menampilkan nilai desimal kunci bucket. Berikut adalah contoh kunci bucket.

hasil decoder payload

2.4. Membuat domain output AVRO

Setelah memiliki kunci bucket, lanjutkan dan salin nilai desimal kunci bucket. Lanjutkan untuk membuat output_domain.avro menggunakan kunci bucket. Pastikan Anda mengganti dengan kunci bucket yang Anda ambil.

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

Skrip akan membuat file output_domain.avro di folder Anda saat ini.

2.5. Membuat laporan ringkasan menggunakan Alat Pengujian Lokal

Kita akan menggunakan LocalTestingTool_{version}.jar yang telah didownload di Bagian 1.1 untuk membuat laporan ringkasan. Gunakan perintah berikut. Anda harus mengganti LocalTestingTool_{version}.jar dengan versi yang didownload untuk LocalTestingTool.

Jalankan perintah berikut untuk membuat laporan ringkasan di lingkungan pengembangan lokal Anda:

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

Anda akan melihat sesuatu yang mirip dengan gambar berikut setelah perintah dijalankan. Laporan output.avro akan dibuat setelah proses ini selesai.

avrofile laporan ringkasan pengujian lokal

2.6. Meninjau laporan ringkasan

Laporan ringkasan yang dibuat menggunakan format AVRO. Agar dapat membaca teks ini, Anda perlu mengonversinya dari AVRO ke format JSON. Idealnya, teknologi iklan harus membuat kode untuk mengonversi laporan AVRO kembali ke JSON.

Untuk Codelab, kita akan menggunakan alat aggregatable_report_converter.jar yang disediakan untuk mengonversi laporan AVRO kembali ke JSON.

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

Tindakan ini akan menampilkan laporan yang mirip dengan gambar berikut. Bersama dengan laporan output.json yang dibuat dalam direktori yang sama.

file avro ringkasan dikonversi menjadi JSON

Buka file JSON di editor pilihan Anda untuk meninjau laporan ringkasan.

3. Deployment Layanan Agregasi

Untuk men-deploy Layanan Agregasi, gunakan langkah-langkah berikut:

Langkah 3. Deployment Layanan Agregasi: Deploy Layanan Agregasi di AWS
Langkah 3.1. Clone Repositori Layanan Agregasi
Langkah 3.2. Download dependensi bawaan
Langkah 3.3. Buat lingkungan pengembangan
Langkah 3.4. Men-deploy Layanan Agregasi

3.1. Meng-clone repositori Layanan Agregasi

Di lingkungan lokal Anda, clone repositori GitHub Layanan Agregasi.

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

3.2. Mendownload dependensi bawaan

Setelah meng-clone repositori Layanan Agregasi, buka folder Terraform repositori, lalu ke folder cloud yang sesuai. Jika cloud_provider Anda adalah AWS, Anda dapat melanjutkan ke /terraform/aws

cd <repository_root>/terraform/aws

Di /terraform/aws, jalankan download_prebuilt_dependencies.sh.

bash download_prebuilt_dependencies.sh

3.3. Membuat lingkungan pengembangan

Buat lingkungan pengembangan di /terraform/aws/environments. Buat folder bernama dev.

mkdir dev

Salin konten folder demo ke dalam folder dev.

cp -R demo/* dev

Pindahkan ke folder dev Anda.

cd dev

Perbarui file main.tf Anda, lalu tekan i untuk input guna mengedit file.

vim main.tf

Hapus tanda komentar pada kode di kotak merah dengan menghapus tanda # dan memperbarui nama bucket serta kunci.

Untuk AWS main.tf:

tffile utama AWS

Kode yang tidak dikomentari akan terlihat seperti berikut.

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

Setelah update selesai, simpan update dan keluar dari editor dengan menekan esc -> :wq!. Tindakan ini akan menyimpan pembaruan di main.tf.

Selanjutnya, ganti nama example.auto.tfvars menjadi dev.auto.tfvars.

mv example.auto.tfvars dev.auto.tfvars

Update dev.auto.tfvars, lalu tekan i untuk input guna mengedit file.

vim dev.auto.tfvars

Perbarui kolom di kotak merah berikut gambar dengan parameter AWS ARN yang benar yang diberikan selama email notifikasi, lingkungan, dan orientasi Layanan Agregasi.

edit dev auto tfvarsfile

Setelah pembaruan selesai, tekan esc -> :wq!. Tindakan ini akan menyimpan file dev.auto.tfvars dan akan terlihat seperti gambar berikut.

tfvarsfile otomatis dev diupdate

3.4. Men-deploy Layanan Agregasi

Untuk men-deploy Layanan Agregasi, di folder yang sama /terraform/aws/environments/dev, lakukan inisialisasi Terraform.

terraform init

Perintah ini akan menampilkan sesuatu yang mirip dengan gambar berikut:

terraforminit

Setelah Terraform diinisialisasi, buat rencana eksekusi Terraform. Fungsi ini menampilkan jumlah resource yang akan ditambahkan dan informasi tambahan lainnya yang mirip dengan gambar berikut.

terraform plan

Anda dapat melihat pada bagian "Rencana" berikut ringkasan. Jika ini adalah deployment baru, Anda akan melihat jumlah resource yang akan ditambahkan dengan 0 untuk diubah dan 0 untuk dihancurkan.

terraformplan

Setelah menyelesaikan langkah ini, Anda dapat melanjutkan penerapan Terraform.

terraform apply

Setelah diminta untuk mengonfirmasi tindakan dilakukan oleh Terraform, masukkan yes ke dalam nilai.

Applyprompt terraform

Setelah terraform apply selesai, endpoint untuk createJob dan getJob berikut akan ditampilkan. frontend_api_id yang perlu Anda perbarui di Postman di bagian 1.9 juga ditampilkan.

applycomplete terraform

4. Pembuatan input Layanan Agregasi

Lanjutkan membuat laporan AVRO untuk pengelompokan di Layanan Agregasi.

Langkah 4. Pembuatan Input Layanan Agregasi: Buat laporan Layanan Agregasi yang dikelompokkan untuk Layanan Agregasi.
Langkah 4.1. Laporan Pemicu
Langkah 4.2. Mengumpulkan laporan agregat
Langkah 4.3. Konversi laporan ke AVRO
Langkah 4.4. Membuat domain output AVRO

4.1. Laporan pemicu

Buka situs demo Privacy Sandbox. Tindakan ini akan memicu laporan agregasi pribadi. Anda dapat melihat laporan tersebut di chrome://private-aggregation-internals.

agregasi pribadi chrome

Jika laporan Anda berstatus "Tertunda" Anda dapat memilih laporan, lalu mengklik "Kirim Laporan yang Dipilih".

kirim laporan agregasi pribadi

4.2. Mengumpulkan laporan agregat

Kumpulkan laporan agregat dari endpoint .well-known API yang sesuai.

  • Agregasi Pribadi
    [reporting-origin] /.well-known/private-aggregation/report-shared-storage
  • Pelaporan Atribusi - Laporan Ringkasan
    [reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution

Untuk Codelab ini, Anda akan melakukan pengumpulan laporan secara manual. Dalam produksi, teknologi iklan diharapkan untuk mengumpulkan dan mengonversi laporan secara terprogram.

Di chrome://private-aggregation-internals, salin "Isi Laporan" diterima di endpoint [reporting-origin]/.well-known/private-aggregation/report-shared-storage.

Pastikan di "Isi Laporan", aggregation_coordinator_origin berisi https://publickeyservice.msmt.aws.privacysandboxservices.com, yang berarti laporan tersebut adalah laporan gabungan AWS.

laporan agregasi pribadi

Tempatkan "Isi Laporan" JSON dalam file JSON. Dalam contoh ini, Anda dapat menggunakan vim. Tetapi Anda dapat menggunakan editor teks apa pun yang Anda inginkan.

vim report.json

Tempel laporan ke report.json dan simpan file Anda.

melaporkan file JSON

4.3. Mengonversi laporan ke AVRO

Laporan yang diterima dari endpoint .well-known menggunakan format JSON dan perlu dikonversi ke dalam format laporan AVRO. Setelah Anda memiliki laporan JSON, buka folder laporan dan gunakan aggregatable_report_converter.jar untuk membantu membuat laporan agregat debug. Tindakan ini akan membuat laporan gabungan yang disebut report.avro di direktori Anda saat ini.

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

4.4. Membuat domain output AVRO

Untuk membuat file output_domain.avro, Anda memerlukan kunci bucket yang dapat diambil dari laporan.

Kunci bucket didesain oleh teknologi iklan. Namun, dalam kasus ini, demo Privacy Sandbox situs akan membuat kunci bucket. Karena agregasi pribadi untuk situs ini berada dalam mode debug, Anda dapat menggunakan debug_cleartext_payload dari "Isi Laporan" untuk mendapatkan kunci bucket.

Lanjutkan dan salin debug_cleartext_payload dari isi laporan.

men-debug payload cleartext dari reportbody

Buka goo.gle/ags-payload-decoder, lalu tempel debug_cleartext_payload Anda di "INPUT" kotak teks dan klik "Decode".

payloaddecoder

Halaman akan menampilkan nilai desimal kunci bucket. Berikut adalah contoh kunci bucket.

hasil decoder payload

Setelah memiliki kunci bucket, lanjutkan dan buat output_domain.avro. Pastikan Anda mengganti dengan kunci bucket yang Anda ambil.

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

Skrip akan membuat file output_domain.avro di folder Anda saat ini.

4.5. Memindahkan laporan ke bucket AWS

Setelah laporan AVRO (dari bagian 3.2.3) dan domain output (dari bagian 3.2.4) dibuat, lanjutkan untuk memindahkan domain laporan dan output ke bucket pelaporan S3.

Jika Anda memiliki penyiapan AWS CLI di lingkungan lokal, gunakan perintah berikut untuk menyalin laporan ke bucket S3 dan folder laporan yang sesuai.

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. Penggunaan Layanan Agregasi

Dari terraform apply, create_job_endpoint, get_job_endpoint, dan frontend_api_id akan ditampilkan. Salin frontend_api_id dan tempatkan ke dalam variabel global tukang pos frontend_api_id yang Anda siapkan di prasyarat bagian 1.9.

Langkah 5. Penggunaan Layanan Agregasi: Gunakan Aggregation Service API untuk membuat laporan ringkasan dan meninjau laporan ringkasan.
Langkah 5.1. Menggunakan Endpoint createJob untuk mengelompokkan
Langkah 5.2. Menggunakan Endpoint getJob untuk mengambil status batch
Langkah 5.3. Meninjau Laporan Ringkasan

5.1. Menggunakan endpoint createJob untuk mengelompokkan

Di Postman, buka "Privacy Sandbox" koleksi, lalu pilih "createJob".

Pilih "Isi" dan pilih "raw" untuk menempatkan payload permintaan.

tukang pos createJob requestbody

Skema payload createJob tersedia di github dan terlihat mirip dengan yang berikut ini. Ganti <> dengan kolom yang sesuai.

{
  "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"
  }
}

Setelah Anda mengklik "Send", tindakan ini akan membuat tugas dengan job_request_id. Anda akan menerima respons HTTP 202 setelah permintaan diterima oleh Layanan Agregasi. Kode pengembalian lain yang mungkin dapat ditemukan di kode respons HTTP

tukang pos createJob requeststatus

5.2. Menggunakan Endpoint getJob untuk mengambil status batch

Untuk memeriksa status permintaan tugas, Anda dapat menggunakan endpoint getJob. Pilih "getJob" di "Privacy Sandbox" pengumpulan data.

Pada "Params", perbarui nilai job_request_id ke job_request_id yang dikirim dalam permintaan createJob.

tukang pos getJobrequest

Hasil getJob akan menampilkan status permintaan tugas Anda dengan status HTTP 200. Permintaan "Body" berisi informasi yang diperlukan seperti job_status, return_message, dan error_messages (jika tugas mengalami error).

tukang pos getJob requeststatus

Karena situs pelaporan laporan demo yang dibuat berbeda dengan situs yang diaktivasi di ID AWS, Anda mungkin menerima respons dengan return_code PRIVACY_BUDGET_AUTHORIZATION_ERROR. Hal ini normal karena laporan situs asal pelaporan tidak cocok dengan situs pelaporan yang diaktivasi untuk ID AWS.

{
    "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. Meninjau Laporan Ringkasan

Setelah menerima laporan ringkasan di Bucket S3 output, Anda dapat mendownloadnya ke lingkungan lokal. Laporan ringkasan dalam format AVRO dan dapat dikonversi kembali ke JSON. Anda dapat menggunakan aggregatable_report_converter.jar untuk membaca laporan menggunakan perintah berikut.

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

Tindakan ini akan menampilkan JSON nilai gabungan dari setiap kunci bucket yang terlihat mirip dengan gambar berikut.

summaryreport

Jika permintaan createJob Anda menyertakan debug_run sebagai true, Anda dapat menerima laporan ringkasan di folder debug yang terletak di output_data_blob_prefix. Laporan ini dalam format AVRO dan dapat dikonversi menggunakan perintah sebelumnya ke JSON.

Laporan berisi kunci bucket, metrik yang tidak memiliki derau, dan derau yang ditambahkan ke metrik yang tidak memiliki derau untuk membentuk laporan ringkasan. Laporan ini serupa dengan gambar berikut.

laporan ringkasan debug

Anotasi juga berisi in_reports dan in_domain yang berarti:

  • in_reports - kunci bucket tersedia di dalam laporan agregat.
  • in_domain - kunci bucket tersedia di dalam file AVRO output_domain.