Membaca data laporan

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

  1. 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.
  2. Instal Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini.

  6. Instal Google Cloud CLI.

  7. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  8. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  9. 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.

  1. Gunakan perintah curl berikut 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. Jika pageSize tidak ada, ukuran default akan digunakan.
  2. 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.

  3. Jika respons menyertakan kolom nextPageToken, laporan berisi baris tambahan. Untuk mengambil halaman hasil berikutnya, lakukan permintaan POST lain yang menyertakan token ini di kolom pageToken isi 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: nilai nextPageToken yang 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.

Langkah berikutnya