Membaca data laporan

Setelah App Optimize API membuat laporan, Anda akan 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 meminta laporan.

Permintaan API ini berbeda dengan mendapatkan metadata laporan, yang hanya menampilkan setelan konfigurasi laporan.

Sebelum memulai

gcloud

Di konsol, aktifkan Cloud Shell. Google Cloud

Aktifkan Cloud Shell

Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan prompt command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

Untuk mengetahui informasi tentang cara menyiapkan autentikasi bagi lingkungan produksi, lihat Menyiapkan Kredensial Default Aplikasi untuk kode yang berjalan di Google Cloud di dokumentasi autentikasi. Google Cloud

Python

  1. Instal library klien Python untuk App Optimize API.
  2. Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

    1. Instal Google Cloud CLI.

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

    3. Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:

      gcloud auth application-default login

      Anda tidak perlu melakukannya jika menggunakan Cloud Shell.

      Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, pastikan Anda telah login ke gcloud CLI dengan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi. Google Cloud

    Untuk mengetahui informasi tentang cara menyiapkan autentikasi bagi lingkungan produksi, lihat Menyiapkan Kredensial Default Aplikasi untuk kode yang berjalan di Google Cloud di dokumentasi autentikasi. Google Cloud

REST

Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

    Instal Google Cloud CLI.

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

Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi. Google Cloud

Untuk mengetahui informasi tentang cara menyiapkan autentikasi bagi lingkungan produksi, lihat Menyiapkan Kredensial Default Aplikasi untuk kode yang berjalan di Google Cloud di dokumentasi autentikasi. Google Cloud

Peran yang diperlukan

Guna mendapatkan izin yang Anda perlukan untuk membaca data laporan, minta administrator untuk memberi Anda peran IAM App Optimize Viewer (roles/appoptimize.viewer) pada 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, ikuti petunjuk sesuai metode pilihan Anda:

gcloud

Gunakan perintah gcloud beta app-optimize reports read untuk mengambil data laporan.

gcloud beta app-optimize reports read REPORT_ID \
  --project=PROJECT_ID \
  --location=global

Ganti kode berikut:

Perintah gcloud menangani penomoran halaman secara otomatis, sehingga menampilkan semua resource yang diminta.

Untuk memahami nilai di kolom cost, lihat Menafsirkan metrik biaya. Untuk mengetahui informasi selengkapnya tentang data dan memahami batasannya, lihat Memahami data.

Python

Kode Python berikut menggunakan AppOptimizeClient.read_report() untuk membaca data laporan.

from google.cloud import appoptimize_v1beta

project_id = "PROJECT_ID"
report_id = "REPORT_ID"

# Create the App Optimize client and read a report's data
client = appoptimize_v1beta.AppOptimizeClient()
request = appoptimize_v1beta.ReadReportRequest(
    name=f"projects/{project_id}/locations/global/reports/{report_id}"
)
result = client.read_report(request=request)

# Display the report data
print(result)

Ganti kode berikut:

Library klien menangani penomoran halaman secara otomatis, sehingga menghasilkan hasil dari iterator.

Untuk memahami nilai di kolom cost, lihat Menafsirkan metrik biaya. Untuk mengetahui informasi selengkapnya tentang data dan memahami batasannya, lihat Memahami data.

REST

Kirim permintaan HTTP POST ke metode kustom :read REST API.

  1. Gunakan perintah curl berikut untuk mengirim permintaan tersebut guna 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 project yang memiliki resource laporan yang ingin Anda baca. Google Cloud
    • REPORT_ID: ID laporan yang akan dibaca. ID ini ditentukan saat laporan dibuat, dan dapat diperoleh dengan membuat daftar 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 dihilangkan, ukuran default akan digunakan.
  2. Jika permintaan berhasil, API akan menampilkan respons JSON yang berisi skema dan baris laporan. Berikut 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 akan berisi baris tambahan. Untuk mengambil halaman hasil berikutnya, buat 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