レポートの一覧表示

Google Cloud プロジェクト内のすべてのレポート構成を一覧表示することで、App Optimize API レポートを効果的に管理できます。これにより、特定のレポートを特定して、データを読み取ったり、不要になったレポートを有効期限前に削除したりできます。

リスト オペレーションは、各レポートのリソース名、スコープ、ディメンション、指標、有効期限などのレポート メタデータを返します。リクエストした費用と使用状況の情報をダウンロードするには、レポートのデータを読み取る必要があります。

始める前に

gcloud

Google Cloud コンソールで Cloud Shell をアクティブにします。

Cloud Shell をアクティブにする

Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

本番環境での認証の設定については、 Google Cloud 認証ドキュメントの Google Cloudで実行されるコードのアプリケーションのデフォルト認証情報を設定する をご覧ください。

Python

  1. App Optimize API 用の Python クライアント ライブラリをインストールします。
  2. ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。

    1. Google Cloud CLI をインストールします。

    2. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

    3. ローカルシェルを使用している場合は、ユーザー アカウントのローカル認証情報を作成します。

      gcloud auth application-default login

      Cloud Shell を使用している場合は、この操作を行う必要はありません。

      認証エラーが返され、外部 ID プロバイダ(IdP)を使用している場合は、 フェデレーション ID を使用して gcloud CLI にログインしていることを確認します。

    詳細については、 Google Cloud 認証ドキュメントの ローカル開発環境の ADC の設定をご覧ください。

    本番環境での認証の設定については、 Google Cloud 認証ドキュメントの Google Cloudで実行されるコードのアプリケーションのデフォルト認証情報を設定する をご覧ください。

REST

このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

    Google Cloud CLI をインストールします。

    外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

本番環境での認証の設定については、 Google Cloud 認証ドキュメントの Google Cloudで実行されるコードのアプリケーションのデフォルト認証情報を設定する をご覧ください。

必要なロール

プロジェクトのレポート リソースの一覧表示に必要な権限を取得するには、プロジェクトに対する App Optimize 閲覧者 roles/appoptimize.viewer)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

レポートの一覧表示

プロジェクト内のレポートを一覧表示するには、次のいずれかの方法の手順に沿って操作します。

gcloud

gcloud beta app-optimize reports list コマンドを使用して、プロジェクト内のレポートを一覧表示します。

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

PROJECT_ID は、一覧表示するレポート リソースを所有する Google Cloudプロジェクトの ID に置き換えます。

gcloud コマンドはページ分割を自動的に処理し、リクエストされたすべてのリソースを返します。

Python

次の Python コードは、AppOptimizeClient.list_reports() を使用してプロジェクト内のレポートのリストを表示します。

from google.cloud import appoptimize_v1beta

project_id = "PROJECT_ID"

# Create the App Optimize client and request the project's reports
client = appoptimize_v1beta.AppOptimizeClient()
request = appoptimize_v1beta.ListReportsRequest(
    parent=f"projects/{project_id}/locations/global"
)
page_result = client.list_reports(request=request)

# Iterate over the list of reports and display each one
for response in page_result:
    print(response)

PROJECT_ID は、一覧表示するレポート リソースを所有する Google Cloudプロジェクトの ID に置き換えます。

クライアント ライブラリはページ分割を自動的に処理し、イテレータから結果を生成します。

REST

次の curl コマンドを使用して、プロジェクトのレポートを一覧表示します。

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports?pageSize=PAGE_SIZE"

次のように置き換えます。

  • PROJECT_ID: 一覧表示するレポート リソースを所有する Google Cloud プロジェクトの ID。
  • PAGE_SIZE: ページごとに返すレポートの最大数。省略した場合、API はデフォルト値を使用します。サーバーが返すレポートが、リクエストされた数よりも少ないことがあります。

リクエストが成功すると、API はレポート リソースのリストを含む JSON レスポンスを返します。以下は、呼び出しが成功した場合のレスポンスの例です。

{
  "reports": [
    {
      "name": "projects/PROJECT_ID/locations/global/reports/my-first-report",
      "dimensions": [
        "location",
        "product_display_name",
        "project",
        "sku"
      ],
      "scopes": [
        {
          "project": "projects/PROJECT_ID"
        }
      ],
      "filter": "hour \u003e= now - duration(\"168h\")",
      "expireTime": "2026-02-05T18:30:39.907639266Z",
      "metrics": [
        "cost"
      ]
    },
    {
      "name": "projects/PROJECT_ID/locations/global/reports/my-second-report",
      "dimensions": [
        "location",
        "product_display_name",
        "project",
        "resource",
        "resource_type"
      ],
      "scopes": [
        {
          "project": "projects/PROJECT_ID"
        }
      ],
      "filter": "hour \u003e= now - duration(\"168h\")",
      "expireTime": "2026-02-05T18:50:25.273833857Z",
      "metrics": [
        "cost",
        "cpu_mean_utilization"
      ]
    }
  ]
}

reports 配列には、各レポートのメタデータが含まれます。リクエストが失敗した場合は、API から返されたエラー メッセージを確認します。

レスポンスに nextPageToken 文字列が含まれている場合は、取得するレポートがまだあることを意味します。

レスポンスで nextPageToken フィールドを確認します。トークンが存在する場合は、次の curl コマンドを実行して、pageToken クエリ パラメータを含む次のページを取得します。pageSize パラメータは引き続き使用できます。

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports?pageToken=NEXT_PAGE_TOKEN&pageSize=PAGE_SIZE"

次のように置き換えます。

  • NEXT_PAGE_TOKEN: 前のレスポンスで受け取った nextPageToken の値。
  • PAGE_SIZE: このリクエストに必要なページサイズ。

レスポンスに nextPageToken が含まれなくなるまでこのプロセスを繰り返します。これは、すべてのレポートを取得したことを示します。

次のステップ