Menggunakan Layanan Agregasi di AWS

1. Prasyarat

Untuk menjalankan Codelab ini, beberapa prasyarat diperlukan. Setiap persyaratan ditandai sebagaimana mestinya 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 Arsip Lambda JAR di GitHub. Class tersebut harus diberi nama LocalTestingTool_{version}.jar.

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

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

memeriksa versi java jre menggunakan java\n--versi

Jika belum 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 gabungan dari repositori GitHub Demo Privacy Sandbox.

1.4. Mengaktifkan Privacy Sandbox API (Layanan Pengujian dan Agregasi Lokal)

Di browser, buka chrome://flags/#privacy-sandbox-ads-apis dan aktifkan Privacy Sandbox API.

chromeflag sandbox privasi

Pastikan Cookie Pihak Ketiga Anda diaktifkan.

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

chromesetting 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 tanda chrome dan tombol CLI.

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

penggantian pendaftaran privacy sandbox mengganti chromeflag

1.6. Orientasi Layanan Agregasi (Layanan Agregasi)

Layanan Agregasi memerlukan orientasi ke koordinator agar 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 Lingkungan Eksekusi Tepercaya 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 AWS CLI untuk menyiapkan lingkungan AWS CLI Anda.

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

1.7.1. Membuat bucket AWS S3

Buat Bucket AWS S3 untuk menyimpan status Terraform, dan bucket S3 lain untuk menyimpan laporan dan laporan ringkasan. Anda dapat menggunakan perintah CLI yang disediakan. Ganti kolom di <> dengan variabel yang sesuai.

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. 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 tersebut lalu 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 Tukang Pos (Untuk Layanan Agregasi AWS)

Untuk Codelab ini, gunakan Postman untuk pengelolaan permintaan.

Buat ruang kerja dengan membuka item navigasi atas "Ruang kerja" dan pilih "Buat Ruang Kerja".

ruang kerja tukang pos

Pilih "Blank workspace", klik berikutnya dan 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 tombol "Impor".

impor JSONfile tukang pos

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

koleksi impor tukang pos

Update "Kunci Akses" dan "Kunci Rahasia" AWS melalui "Tampilan cepat lingkungan".

tampilan cepat lingkungan tukang pos

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

variabel global tukang pos

edit globalvariabel tukang pos

2. Codelab Pengujian Lokal

Anda dapat menggunakan alat pengujian lokal di komputer 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: Konversikan laporan JSON yang dikumpulkan menjadi laporan berformat AVRO.
Langkah ini akan mirip dengan saat 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 sudah ditentukan sebelumnya, ambil kunci bucket seperti yang disediakan.

Langkah 2.4. Membuat 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 untuk dapat membuat Laporan Ringkasan di Lingkungan Lokal.

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

2.1. Laporan pemicu

Buka situs demo sandbox privasi. Tindakan ini akan memicu laporan agregasi pribadi. Anda dapat melihat laporannya di chrome://private-aggregation-internals.

agregasi pribadi chrome internal

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

kirim laporan agregasi pribadi

2.2. Membuat laporan agregat debug

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

Pastikan bahwa dalam "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 {i>vim<i}. Tetapi Anda dapat menggunakan editor teks apa pun yang Anda inginkan.

vim report.json

Tempelkan laporan ke report.json dan simpan file Anda.

JSONfile laporan

Setelah Anda mendapatkannya, 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 \
 --debug

2.3. Mengurai kunci bucket dari laporan debug

Layanan Agregasi memerlukan dua file saat pengelompokan. Laporan gabungan 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 didesain 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 sandbox privasi 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 di kotak "INPUT", lalu klik "Decode".

payloaddecoder

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

decoderresult payload

2.4. Membuat domain output AVRO

Setelah memiliki kunci bucket, lanjutkan dan salin nilai desimal dari 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 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 selesai.

avrofile laporan ringkasan pengujian lokal

2.6. Meninjau laporan ringkasan

Laporan ringkasan yang dibuat menggunakan format AVRO. Agar dapat membacanya, 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 kembali laporan AVRO 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 yang dibuat output.json di direktori yang sama.

file avro ringkasan yang dikonversi menjadi tojson

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 dan 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 dengan nama dev.

mkdir dev

Salin konten folder demo ke dalam folder dev.

cp -R demo/* dev

Pindahkan ke folder dev Anda.

cd dev

Update file main.tf Anda dan 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 dan kunci.

Untuk main.tf AWS:

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 update pada 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 pada gambar berikut di kotak merah dengan parameter ARN AWS yang benar, yang disediakan selama orientasi, lingkungan, dan email notifikasi Layanan Agregasi.

edit dev auto tfvarsfile

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

dev auto tfvarsfile diperbarui

3.4. Men-deploy Layanan Agregasi

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

terraform init

Tindakan ini akan menampilkan sesuatu yang mirip dengan gambar berikut:

terraforminit

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

terraform plan

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

{i>terraformplan<i}

Setelah menyelesaikan langkah ini, Anda dapat melanjutkan untuk menerapkan Terraform.

terraform apply

Setelah diminta untuk mengonfirmasi cara melakukan tindakan 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 update di Postman pada bagian 1.9 juga ditampilkan.

penerapan terraform selesai

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. Kumpulkan laporan gabungan
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 laporannya di chrome://private-aggregation-internals.

agregasi pribadi chrome internal

Jika laporan 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 menjalankan pengumpulan laporan secara manual. Dalam produksi, teknologi iklan diharapkan untuk mengumpulkan dan mengonversi laporan secara terprogram.

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

Pastikan bahwa dalam "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 {i>vim<i}. Tetapi Anda dapat menggunakan editor teks apa pun yang Anda inginkan.

vim report.json

Tempelkan laporan ke report.json dan simpan file Anda.

JSONfile laporan

4.3. Mengonversi laporan ke AVRO

Laporan yang diterima dari endpoint .well-known memiliki format JSON dan perlu dikonversi ke 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 dirancang oleh teknologi iklan. Namun, dalam hal ini, demo Privacy Sandbox situs 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 dan tempel debug_cleartext_payload Anda di kotak "INPUT", lalu klik "Decode".

payloaddecoder

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

decoderresult 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 dalam bucket S3 pelaporan.

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, Anda akan melihat create_job_endpoint, get_job_endpoint, dan frontend_api_id. Salin frontend_api_id dan tempatkan ini ke variabel global tukang pos frontend_api_id yang Anda siapkan di bagian prasyarat 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 koleksi "Privacy Sandbox" dan pilih "createJob".

Pilih "Body" 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": "<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"
  }
}

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

tukang pos createJob status permintaan

5.2. Menggunakan Endpoint getJob untuk mengambil status batch

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

Di "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 dihasilkan berbeda dengan situs yang diaktivasi pada ID AWS, Anda mungkin menerima respons dengan return_code PRIVACY_BUDGET_AUTHORIZATION_ERROR. Hal ini normal karena situs asal pelaporan laporan 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-news.dev"
    },
    "request_processing_started_at": "2023-12-07T22:51:06.034472697Z"
}

5.3. Meninjau Laporan Ringkasan

Setelah menerima laporan ringkasan dalam 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.

laporan ringkasan

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

Laporan ini berisi kunci bucket, metrik tanpa derau, dan derau yang ditambahkan ke metrik tanpa 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 gabungan.
  • in_domain - kunci bucket tersedia di dalam file AVRO output_domain.