1. 1. Prasyarat
Estimasi waktu penyelesaian: 1-2 jam
Ada 2 mode untuk menjalankan codelab ini: Pengujian Lokal atau Layanan Agregasi. Mode Pengujian Lokal memerlukan komputer lokal dan browser Chrome (tidak ada pembuatan/penggunaan resource Google Cloud). Mode Layanan Agregasi memerlukan deployment penuh Layanan Agregasi di Google Cloud.
Untuk menjalankan codelab ini dalam salah satu mode, beberapa prasyarat diperlukan. Setiap persyaratan ditandai sesuai dengan apakah persyaratan tersebut diperlukan untuk Pengujian Lokal atau Layanan Agregasi.
1.1. Menyelesaikan Pendaftaran dan Pengesahan (Layanan Agregasi)
Untuk menggunakan Privacy Sandbox API, pastikan Anda telah menyelesaikan Pendaftaran dan Pengesahan untuk Chrome dan Android.
1.2. Mengaktifkan API privasi Iklan (Layanan Agregasi dan Pengujian Lokal)
Karena kami akan menggunakan Privacy Sandbox, sebaiknya Anda mengaktifkan Privacy Sandbox Ads API.
Di browser, buka chrome://settings/adPrivacy
dan aktifkan semua Ad privacy API.
Pastikan juga bahwa cookie pihak ketiga diaktifkan.
Dari chrome://settings/cookies
, pastikan cookie pihak ketiga TIDAK diblokir. Bergantung pada versi Chrome, Anda mungkin melihat opsi yang berbeda di menu setelan ini, tetapi konfigurasi yang dapat diterima mencakup:
- "Blokir semua cookie pihak ketiga" = NONAKTIF
- "Blokir cookie pihak ketiga" = DINONAKTIFKAN
- "Blokir cookie pihak ketiga dalam mode Samaran" = AKTIF
1.3. Mendownload 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 JAR Cloud Function di GitHub. Class ini harus diberi nama LocalTestingTool_{version}.jar
.
1.4. Pastikan JAVA JRE diinstal (Layanan Agregasi dan Pengujian Lokal)
Buka "Terminal" dan gunakan java --version
untuk memeriksa apakah mesin Anda telah menginstal Java atau openJDK.
Jika belum diinstal, Anda dapat mendownload dan menginstal dari situs Java atau situs openJDK.
1.5. Mendownload aggregatable_report_converter (Layanan Agregasi dan Pengujian Lokal)
Anda dapat mendownload salinan aggregatable_report_converter dari repositori GitHub Demo Privacy Sandbox. Repositori GitHub menyebutkan penggunaan IntelliJ atau Eclipse, tetapi keduanya tidak diperlukan. Jika Anda tidak menggunakan alat ini, download file JAR ke lingkungan lokal Anda.
1.6. Menyiapkan Lingkungan GCP (Layanan Agregasi)
Layanan Agregasi memerlukan penggunaan Trusted Execution Environment yang menggunakan penyedia cloud. Dalam codelab ini, Layanan Agregasi akan di-deploy di GCP, tetapi AWS juga didukung.
Ikuti Petunjuk Deployment di GitHub untuk menyiapkan gcloud CLI, mendownload biner dan modul Terraform, serta membuat resource GCP untuk Layanan Agregasi.
Langkah-langkah utama dalam Petunjuk Deployment:
- Siapkan CLI "gcloud" dan Terraform di lingkungan Anda.
- Buat bucket Cloud Storage untuk menyimpan status Terraform.
- Mendownload dependensi.
- Perbarui
adtech_setup.auto.tfvars
dan jalankan Terraformadtech_setup
. Lihat Lampiran untuk contoh fileadtech_setup.auto.tfvars
. Perhatikan nama bucket data yang dibuat di sini – nama ini akan digunakan dalam codelab untuk menyimpan file yang kita buat. - Perbarui
dev.auto.tfvars
, tirukan identitas akun layanan deployment, dan jalankan Terraformdev
. Lihat Lampiran untuk contoh filedev.auto.tfvars
. - Setelah deployment selesai, ambil
frontend_service_cloudfunction_url
dari output Terraform, yang akan diperlukan untuk membuat permintaan ke Layanan Agregasi pada langkah berikutnya.
1.7. Menyelesaikan Orientasi Layanan Agregasi (Layanan Agregasi)
Layanan Agregasi memerlukan orientasi untuk koordinator agar dapat menggunakan layanan. Isi formulir Orientasi Layanan Agregasi dengan memberikan Situs Pelaporan dan informasi lainnya, memilih "Google Cloud", dan memasukkan alamat akun layanan Anda. Akun layanan ini dibuat di prasyarat sebelumnya (1.6. Menyiapkan Lingkungan GCP). (Petunjuk: jika Anda menggunakan nama default yang disediakan, akun layanan ini akan dimulai dengan "worker-sa@").
Tunggu hingga 2 minggu untuk menyelesaikan proses aktivasi.
1.8. Menentukan metode Anda untuk memanggil endpoint API (Layanan Agregasi)
Codelab ini menyediakan 2 opsi untuk memanggil endpoint Aggregation Service API: cURL dan Postman. cURL adalah cara yang lebih cepat dan mudah untuk memanggil endpoint API dari Terminal, karena memerlukan penyiapan minimal dan tidak memerlukan software tambahan. Namun, jika tidak ingin menggunakan cURL, Anda dapat menggunakan Postman untuk menjalankan dan menyimpan permintaan API untuk digunakan di masa mendatang.
Di bagian 3.2. Penggunaan Layanan Agregasi, Anda akan menemukan petunjuk mendetail untuk menggunakan kedua opsi tersebut. Anda dapat melihat pratinjaunya sekarang untuk menentukan metode yang akan digunakan. Jika Anda memilih Postman, lakukan penyiapan awal berikut.
1.8.1. Menyiapkan ruang kerja
Daftar untuk membuat akun Postman. Setelah mendaftar, ruang kerja akan otomatis dibuat untuk Anda.
Jika ruang kerja tidak dibuat untuk Anda, buka item navigasi atas "Ruang Kerja", lalu pilih "Buat Ruang Kerja".
Pilih "Ruang kerja kosong", klik berikutnya, lalu beri nama "GCP Privacy Sandbox". Pilih "Pribadi", lalu klik "Buat".
Download konfigurasi JSON dan file Lingkungan Global ruang kerja yang telah dikonfigurasi sebelumnya.
Impor kedua file JSON ke "My Workspace" melalui tombol "Import".
Tindakan ini akan membuat koleksi "GCP Privacy Sandbox" untuk Anda beserta permintaan HTTP createJob
dan getJob
.
1.8.2. Menyiapkan otorisasi
Klik kumpulan "GCP Privacy Sandbox", lalu buka tab "Authorization".
Anda akan menggunakan metode "Bearer Token". Dari lingkungan Terminal, jalankan perintah ini dan salin output-nya.
gcloud auth print-identity-token
Kemudian, tempel nilai token ini di kolom "Token" pada tab otorisasi Postman:
1.8.3. Lingkungan penyiapan
Buka "Tampilan cepat lingkungan" di pojok kanan atas:
Klik "Edit" dan perbarui "Nilai Saat Ini" dari "environment", "region", dan "cloud-function-id":
Anda dapat mengosongkan "request-id" untuk saat ini, karena kita akan mengisinya nanti. Untuk kolom lainnya, gunakan nilai dari frontend_service_cloudfunction_url
, yang ditampilkan dari keberhasilan deployment Terraform di Prasyarat 1.6. URL mengikuti format ini: https://
2. 2. Codelab Pengujian Lokal
Estimasi waktu penyelesaian: <1 jam
Anda dapat menggunakan alat pengujian lokal di komputer untuk melakukan agregasi dan membuat laporan ringkasan menggunakan laporan debug yang tidak dienkripsi. Sebelum memulai, pastikan Anda telah menyelesaikan semua Prasyarat yang diberi label "Pengujian Lokal".
Langkah-langkah codelab
Langkah 2.1. Pemicu laporan: Memicu pelaporan Agregasi Pribadi agar dapat mengumpulkan laporan.
Langkah 2.2. Buat Laporan AVRO Debug: Mengonversi laporan JSON yang dikumpulkan ke laporan berformat AVRO. Langkah ini akan serupa dengan saat adTech mengumpulkan laporan dari endpoint pelaporan API dan mengonversi laporan JSON menjadi laporan berformat AVRO.
Langkah 2.3. Mengambil Kunci Bucket: Kunci bucket dirancang oleh adTech. Dalam codelab ini, karena bucket telah ditentukan sebelumnya, ambil kunci bucket seperti yang disediakan.
Langkah 2.4. Create Output Domain AVRO: Setelah kunci bucket diambil, buat file AVRO Domain Output.
Langkah 2.5. Membuat Laporan Ringkasan: 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
Untuk memicu laporan agregasi pribadi, Anda dapat menggunakan situs demo Privacy Sandbox (https://privacy-sandbox-demos-news.dev/?env=gcp) atau situs Anda sendiri (misalnya, https://adtechexample.com). Jika menggunakan situs Anda sendiri dan belum menyelesaikan Pendaftaran & Pengesahan serta Orientasi Layanan Agregasi, Anda harus menggunakan flag Chrome dan tombol CLI.
Untuk demo ini, kita akan menggunakan situs demo Privacy Sandbox. Ikuti link untuk membuka situs; lalu, Anda dapat melihat laporan di chrome://private-aggregation-internals
:
Laporan yang dikirim ke endpoint {reporting-origin}/.well-known/private-aggregation/debug/report-shared-storage
juga ditemukan di "Isi Laporan" laporan yang ditampilkan di halaman Chrome Internals.
Anda mungkin melihat banyak laporan di sini, tetapi untuk codelab ini, gunakan laporan gabungan yang khusus untuk GCP dan dibuat oleh endpoint debug. "URL Laporan" akan berisi "/debug/" dan aggregation_coordinator_origin field
dari "Isi Laporan" akan berisi URL ini: https://publickeyservice.msmt.gcp.privacysandboxservices.com.
2.2. Membuat Laporan Gabungan Debug
Salin laporan yang ditemukan di "Isi Laporan" chrome://private-aggregation-internals
dan buat file JSON di folder privacy-sandbox-demos/tools/aggregatable_report_converter/out/artifacts/aggregatable_report_converter_jar
(dalam repo yang didownload di Prasyarat 1.5).
Dalam contoh ini, kita menggunakan vim karena kita menggunakan linux. Namun, Anda dapat menggunakan editor teks apa pun yang Anda inginkan.
vim report.json
Tempelkan laporan ke report.json
dan simpan file Anda.
Setelah Anda memilikinya, 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. Mengambil Kunci Bucket dari Laporan
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, situs Privacy Sandbox Demo membuat kunci bucket. Karena agregasi pribadi untuk situs ini berada dalam mode debug, kita dapat menggunakan debug_cleartext_payload
dari "Isi Laporan" untuk mendapatkan kunci bucket.
Lanjutkan dan salin debug_cleartext_payload
dari isi laporan.
Buka goo.gle/ags-payload-decoder dan tempel debug_cleartext_payload
Anda di kotak "INPUT", lalu klik "Decode".
Halaman ini menampilkan nilai desimal kunci bucket. Berikut adalah contoh kunci bucket.
2.4. Membuat AVRO Domain Output
Setelah memiliki kunci bucket, mari kita buat output_domain.avro
di folder yang sama dengan yang telah kita gunakan. Pastikan Anda mengganti kunci bucket dengan kunci bucket yang Anda ambil.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
Skrip ini akan membuat file output_domain.avro
di folder saat ini.
2.5. Membuat Laporan Ringkasan menggunakan Alat Pengujian Lokal
Kita akan menggunakan LocalTestingTool_{version}.jar
yang didownload di Prasyarat 1.3 untuk membuat laporan ringkasan menggunakan perintah di bawah. Ganti {version}
dengan versi yang Anda download. Jangan lupa untuk memindahkan LocalTestingTool_{version}.jar
ke direktori saat ini, atau tambahkan jalur relatif untuk mereferensikan lokasinya saat ini.
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 di bawah ini setelah perintah dijalankan. Laporan output.avro
akan dibuat setelah proses ini selesai.
2.6. Meninjau Laporan Ringkasan
Laporan ringkasan yang dibuat dalam format AVRO. Agar dapat membacanya, Anda perlu mengonversinya dari AVRO ke format JSON. Idealnya, adTech harus menulis kode untuk mengonversi laporan AVRO kembali ke JSON.
Kita akan menggunakan aggregatable_report_converter.jar
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 laporan di bawah. Bersama dengan laporan output.json
yang dibuat di direktori yang sama.
Codelab selesai.
Ringkasan: Anda telah mengumpulkan laporan debug, membuat file domain output, dan membuat laporan ringkasan menggunakan alat pengujian lokal yang menyimulasikan perilaku agregasi Layanan Agregasi.
Langkah berikutnya: Setelah bereksperimen dengan alat Pengujian Lokal, Anda dapat mencoba latihan yang sama dengan deployment Layanan Agregasi langsung di lingkungan Anda sendiri. Tinjau kembali prasyarat untuk memastikan Anda telah menyiapkan semuanya untuk mode "Layanan Agregasi", lalu lanjutkan ke langkah 3.
3. 3. Codelab Layanan Agregasi
Estimasi waktu penyelesaian: 1 jam
Sebelum memulai, pastikan Anda telah menyelesaikan semua Prasyarat yang berlabel "Layanan Agregasi".
Langkah-langkah codelab
Langkah 3.1. Pembuatan Input Layanan Agregasi: Membuat laporan Layanan Agregasi yang dikelompokkan untuk Layanan Agregasi.
- Langkah 3.1.1. Laporan Pemicu
- Langkah 3.1.2. Mengumpulkan Laporan Gabungan
- Langkah 3.1.3. Mengonversi Laporan ke AVRO
- Langkah 3.1.4. Membuat output_domain AVRO
- Langkah 3.1.5. Memindahkan Laporan ke bucket Cloud Storage
Langkah 3.2. Penggunaan Layanan Agregasi: Gunakan Aggregation Service API untuk membuat Laporan Ringkasan dan meninjau Laporan Ringkasan.
- Langkah 3.2.1. Menggunakan Endpoint
createJob
untuk membuat batch - Langkah 3.2.2. Menggunakan Endpoint
getJob
untuk mengambil status batch - Langkah 3.2.3. Meninjau Laporan Ringkasan
3.1. Pembuatan Input Layanan Agregasi
Lanjutkan untuk membuat laporan AVRO untuk pengelompokan ke Layanan Agregasi. Perintah shell dalam langkah-langkah ini dapat dijalankan dalam Cloud Shell GCP (asalkan dependensi dari Prasyarat di-clone ke lingkungan Cloud Shell Anda) atau di lingkungan eksekusi lokal.
3.1.1. Laporan Pemicu
Ikuti link untuk membuka situs; lalu, Anda dapat melihat laporan di chrome://private-aggregation-internals
:
Laporan yang dikirim ke endpoint {reporting-origin}/.well-known/private-aggregation/debug/report-shared-storage
juga ditemukan di "Isi Laporan" laporan yang ditampilkan di halaman Chrome Internals.
Anda mungkin melihat banyak laporan di sini, tetapi untuk codelab ini, gunakan laporan gabungan yang khusus untuk GCP dan dibuat oleh endpoint debug. "URL Laporan" akan berisi "/debug/" dan aggregation_coordinator_origin field
dari "Isi Laporan" akan berisi URL ini: https://publickeyservice.msmt.gcp.privacysandboxservices.com.
3.1.2. Mengumpulkan Laporan Gabungan
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, kita melakukan pengumpulan laporan secara manual. Dalam produksi, teknologi iklan diharapkan mengumpulkan dan mengonversi laporan secara terprogram.
Mari kita salin laporan JSON di "Isi Laporan" dari chrome://private-aggregation-internals
.
Dalam contoh ini, kita menggunakan vim karena kita menggunakan linux. Namun, Anda dapat menggunakan editor teks apa pun yang Anda inginkan.
vim report.json
Tempelkan laporan ke report.json
dan simpan file Anda.
3.1.3. Mengonversi Laporan ke AVRO
Laporan yang diterima dari endpoint .well-known
dalam format JSON dan perlu dikonversi ke format laporan AVRO. Setelah Anda memiliki laporan JSON, buka tempat report.json
disimpan 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
3.1.4. Membuat output_domain 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, situs Privacy Sandbox Demo membuat kunci bucket. Karena agregasi pribadi untuk situs ini berada dalam mode debug, kita dapat menggunakan debug_cleartext_payload
dari "Isi Laporan" untuk mendapatkan kunci bucket.
Lanjutkan dan salin debug_cleartext_payload
dari isi laporan.
Buka goo.gle/ags-payload-decoder dan tempel debug_cleartext_payload
Anda di kotak "INPUT", lalu klik "Decode".
Halaman ini menampilkan nilai desimal kunci bucket. Berikut adalah contoh kunci bucket.
Setelah memiliki kunci bucket, mari kita buat output_domain.avro
di folder yang sama dengan yang telah kita gunakan. Pastikan Anda mengganti kunci bucket dengan kunci bucket yang Anda ambil.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
Skrip ini akan membuat file output_domain.avro
di folder Anda saat ini.
3.1.5. Memindahkan Laporan ke bucket Cloud Storage
Setelah laporan AVRO dan domain output dibuat, lanjutkan untuk memindahkan laporan dan domain output ke bucket di Cloud Storage (yang Anda catat di Prasyarat 1.6).
Jika Anda telah menyiapkan gcloud CLI di lingkungan lokal, gunakan perintah di bawah untuk menyalin file ke folder yang sesuai.
gcloud storage cp report.avro gs://<bucket_name>/reports/
gcloud storage cp output_domain.avro gs://<bucket_name>/output_domain/
Jika tidak, upload file secara manual ke bucket Anda. Buat folder bernama "laporan" dan upload file report.avro
di sana. Buat folder bernama "output_domains" dan upload file output_domain.avro
di sana.
3.2. Penggunaan Layanan Agregasi
Ingatlah bahwa di Prasyarat 1.8, Anda memilih cURL atau Postman untuk membuat permintaan API ke endpoint Layanan Agregasi. Di bawah ini, Anda akan menemukan petunjuk untuk kedua opsi tersebut.
Jika tugas Anda gagal dengan error, lihat dokumentasi pemecahan masalah kami di GitHub untuk mengetahui informasi selengkapnya tentang cara melanjutkan.
3.2.1. Menggunakan Endpoint createJob
untuk membuat batch
Gunakan petunjuk cURL atau Postman di bawah untuk membuat tugas.
cURL
Di "Terminal", buat file isi permintaan (body.json
) dan tempelkan di bawah. Pastikan untuk memperbarui nilai placeholder. Lihat dokumentasi API ini untuk mengetahui informasi selengkapnya tentang apa yang diwakili oleh setiap kolom.
{
"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"
}
}
Jalankan permintaan di bawah. Ganti placeholder di URL permintaan cURL dengan nilai dari frontend_service_cloudfunction_url
, yang merupakan output setelah berhasil menyelesaikan deployment Terraform di Prasyarat 1.6.
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-d @body.json \
https://<environment>-<region>-frontend-service-<cloud-function-id>-uc.a.run.app/v1alpha/createJob
Anda akan menerima respons HTTP 202 setelah permintaan diterima oleh Layanan Agregasi. Kode respons lain yang mungkin terjadi didokumentasikan dalam spesifikasi API.
Postman
Untuk endpoint createJob
, isi permintaan diperlukan untuk memberi Layanan Agregasi lokasi dan nama file laporan agregat, domain output, dan laporan ringkasan.
Buka tab "Isi" permintaan createJob
:
Ganti placeholder dalam JSON yang disediakan. Untuk mengetahui informasi selengkapnya tentang kolom ini dan apa yang diwakilinya, lihat dokumentasi API.
{
"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"
}
}
"Kirim" permintaan API createJob
:
Kode respons dapat ditemukan di bagian bawah halaman:
Anda akan menerima respons HTTP 202 setelah permintaan diterima oleh Layanan Agregasi. Kode respons lainnya didokumentasikan dalam spesifikasi API.
3.2.2. Menggunakan Endpoint getJob
untuk mengambil status batch
Gunakan petunjuk cURL atau Postman di bawah untuk mendapatkan tugas.
cURL
Jalankan permintaan di bawah ini di Terminal Anda. Ganti placeholder di URL dengan nilai dari frontend_service_cloudfunction_url
, yang merupakan URL yang sama dengan yang Anda gunakan untuk permintaan createJob
. Untuk "job_request_id", gunakan nilai dari tugas yang Anda buat dengan endpoint createJob
.
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://<environment>-<region>-frontend-service-<cloud-function-id>-uc.a.run.app/v1alpha/getJob?job_request_id=<job_request_id>
Hasilnya akan menampilkan status permintaan tugas Anda dengan status HTTP 200. "Isi" permintaan berisi informasi yang diperlukan seperti job_status
, return_message
, dan error_messages
(jika tugas mengalami error).
Postman
Untuk memeriksa status permintaan tugas, Anda dapat menggunakan endpoint getJob
. Di bagian "Params" pada permintaan getJob
, perbarui nilai job_request_id
menjadi job_request_id
yang dikirim dalam permintaan createJob
.
"Kirim" permintaan getJob
:
Hasilnya akan menampilkan status permintaan tugas Anda dengan status HTTP 200. "Isi" permintaan berisi informasi yang diperlukan seperti job_status
, return_message
, dan error_messages
(jika tugas mengalami error).
3.2.3. Meninjau Laporan Ringkasan
Setelah menerima laporan ringkasan di bucket Cloud Storage 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 di bawah.
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 di bawah ini.
Jika permintaan createJob
Anda menyertakan debug_run
sebagai benar, 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 di atas menjadi JSON.
Laporan ini berisi kunci bucket, metrik tanpa derau, dan derau yang ditambahkan ke metrik tanpa derau untuk membentuk laporan ringkasan. Laporannya mirip dengan yang di bawah ini.
Anotasi juga berisi "in_reports" dan/atau "in_domain" yang berarti:
- in_reports - kunci bucket tersedia di dalam laporan agregat.
- in_domain - kunci bucket tersedia di dalam file AVRO output_domain.
Codelab selesai.
Ringkasan: Anda telah men-deploy Layanan Agregasi di lingkungan cloud Anda sendiri, mengumpulkan laporan debug, membuat file domain output, menyimpan file ini di bucket Cloud Storage, dan menjalankan tugas yang berhasil.
Langkah berikutnya: Lanjutkan menggunakan Layanan Agregasi di lingkungan Anda, atau hapus resource cloud yang baru saja Anda buat dengan mengikuti petunjuk pembersihan di langkah 4.
4. 4. Membersihkan
Untuk menghapus resource yang dibuat untuk Layanan Agregasi melalui Terraform, gunakan perintah destroy di folder adtech_setup
dan dev
(atau lingkungan lainnya):
$ cd <repository_root>/terraform/gcp/environments/adtech_setup
$ terraform destroy
$ cd <repository_root>/terraform/gcp/environments/dev
$ terraform destroy
Untuk menghapus bucket Cloud Storage yang menyimpan laporan gabungan dan laporan ringkasan:
$ gcloud storage buckets delete gs://my-bucket
Anda juga dapat memilih untuk mengembalikan setelan cookie Chrome dari Prasyarat 1.2 ke status sebelumnya.
5. 5. Lampiran
Contoh file adtech_setup.auto.tfvars
/**
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
project = "my-project-id"
# Required to generate identity token for access of Adtech Services API endpoints
service_account_token_creator_list = ["user:me@email.com"]
# Uncomment the below line if you like Terraform to create an Artifact registry repository
# for self-build container artifacts. "artifact_repo_location" defaults to "us".
artifact_repo_name = "my-ags-artifacts"
# Note: Either one of [1] or [2] must be uncommented.
# [1] Uncomment below lines if you like Terraform grant needed permissions to
# pre-existing service accounts
# deploy_service_account_email = "<YourDeployServiceAccountName>@<ProjectID>.iam.gserviceaccount.com"
# worker_service_account_email = "<YourWorkerServiceAccountName>@<ProjectID>.iam.gserviceaccount.com"
# [2] Uncomment below lines if you like Terraform to create service accounts
# and needed permissions granted e.g "deploy-sa" or "worker-sa"
deploy_service_account_name = "deploy-sa"
worker_service_account_name = "worker-sa"
# Uncomment the below line if you want Terraform to create the
# below bucket. "data_bucket_location" defaults to "us".
data_bucket_name = "my-ags-data"
# Uncomment the below lines if you want to specify service account customer role names
# deploy_sa_role_name = "<YourDeploySACustomRole>"
# worker_sa_role_name = "<YourWorkerSACustomRole>"
Contoh file dev.auto.tfvars
/**
* Copyright 2022 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
# Example values required by job_service.tf
#
# These values should be modified for each of your environments.
region = "us-central1"
region_zone = "us-central1-c"
project_id = "my-project-id"
environment = "operator-demo-env"
# Co-locate your Cloud Spanner instance configuration with the region above.
# https://cloud.google.com/spanner/docs/instance-configurations#regional-configurations
spanner_instance_config = "regional-us-central1"
# Adjust this based on the job load you expect for your deployment.
# Monitor the spanner instance utilization to decide on scale out / scale in.
# https://console.cloud.google.com/spanner/instances
spanner_processing_units = 100
# Uncomment the line below at your own risk to disable Spanner database protection.
# This needs to be set to false and applied before destroying all resources is possible.
spanner_database_deletion_protection = false
instance_type = "n2d-standard-8" # 8 cores, 32GiB
# Container image location that packages the job service application
# If not set otherwise, uncomment and edit the line below:
#worker_image = "<location>/<project>/<repository>/<image>:<tag or digest>"
# Service account created and onboarded for worker
user_provided_worker_sa_email = "worker-sa@my-project-id.iam.gserviceaccount.com"
min_worker_instances = 1
max_worker_instances = 20