Setelah App Optimize API membuat laporan, Anda mengambil data biaya dan penggunaan laporan. Operasi ini mendownload informasi ini sebagai kolom dan baris, yang disusun sesuai dengan dimensi dan metrik yang Anda tentukan saat Anda meminta laporan.
Permintaan API ini berbeda dengan mendapatkan metadata laporan, yang hanya menampilkan setelan konfigurasi laporan.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk membaca data laporan,
minta administrator untuk memberi Anda peran IAM
App Optimize Viewer (roles/appoptimize.viewer)
di project yang memiliki resource laporan.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membaca data laporan
Untuk membaca data dari laporan yang telah selesai, menggunakan REST API, kirim permintaan POST HTTP ke endpoint :read laporan.
Gunakan perintah
curlberikut untuk membaca halaman pertama data laporan:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"pageSize": PAGE_SIZE}' \ "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID:read"Ganti kode berikut:
PROJECT_ID: ID Google Cloud project yang memiliki resource laporan yang ingin Anda baca.REPORT_ID: ID laporan yang akan dibaca. ID ini ditentukan saat laporan dibuat, dan dapat diperoleh dengan mencantumkan laporan.PAGE_SIZE: jumlah maksimum baris yang akan ditampilkan per halaman. Server menampilkan maksimum 1.000 baris per halaman, meskipun Anda menentukan nilai yang lebih besar. Respons juga tunduk pada batas ukuran 10 MB, sehingga lebih sedikit baris yang dapat ditampilkan agar tetap berada dalam batas tersebut. JikapageSizetidak ada, ukuran default akan digunakan.
Jika permintaan berhasil, API akan menampilkan respons JSON yang berisi skema dan baris laporan. Berikut adalah contoh respons yang berhasil:
{ "rows": [ [ "//apphub.googleapis.com/projects/123456789/locations/us-central1/applications/my-app-1", { "currency_code": "USD", "units": "106", "nanos": 321590000 } ], [ "//apphub.googleapis.com/projects/123456789/locations/us-central1/applications/my-app-2", { "currency_code": "USD", "units": "797", "nanos": 641691000 } ] ], "columns": [ { "name": "application", "type": "STRING" }, { "name": "cost", "type": "RECORD", "columns": [ { "name": "currency_code", "type": "STRING" }, { "name": "units", "type": "INT64" }, { "name": "nanos", "type": "INT64" } ] } ], "nextPageToken": "AABBCCddeeffGGHHiiJJkkLL" }Untuk memahami nilai di kolom
cost, lihat Menafsirkan metrik biaya. Untuk mengetahui informasi selengkapnya tentang data dan memahami batasannya, lihat Memahami data.Jika respons menyertakan kolom
nextPageToken, laporan berisi baris tambahan. Untuk mengambil halaman hasil berikutnya, lakukan permintaanPOSTlain yang menyertakan token ini di kolompageTokenisi JSON:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"pageToken": "NEXT_PAGE_TOKEN", "pageSize": PAGE_SIZE}' \ "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID:read"Ganti kode berikut:
NEXT_PAGE_TOKEN: nilainextPageTokenyang diterima dalam respons sebelumnya.PAGE_SIZE: jumlah maksimum baris yang akan ditampilkan per halaman. Meskipun Anda dapat mengubah nilai ini di antara permintaan halaman, batas sisi server tetap berlaku.
Ulangi proses ini hingga respons tidak lagi berisi
nextPageToken, yang menunjukkan bahwa Anda telah mengambil semua data laporan.