Google Maps Platform のレポート

Google Maps Platform の Reporting は一連の事前定義された視覚的なレポートで、API の基本的な使用状況、割り当て、お支払い情報を Google Cloud Console で簡単に確認できます。API 呼び出しの回数の把握、API 使用量が割り当てにどれだけ近づいているかの確認、使用量と課金額のモニタリングを簡単に行えます。

レポートの種類は次のとおりです。

  • 使用状況レポート: プロジェクトに関連付けられた認証情報を使用して、プロジェクトから Google Maps Platform API に送信されたリクエストの数がレポートされます。
  • 割り当てレポート: 1 分あたりのリクエスト数でグループ化された割り当て使用状況が、グラフでレポートされます。 選択した API の現在の割り当て上限は、割り当て使用状況グラフの下の表に表示されます。
  • 請求レポート: 費用の経時的変化が積み上げ折れ線グラフでレポートされます。当月の割り当て使用量が表示され、これには、適用されたクレジットと、その月全体の合計予測費用が含まれます。

使用状況割り当て請求のいずれか(またはすべての)レポートにリクエストが表示されるかどうかを定義するレスポンス ステータスとレスポンス コードの全一覧については、以下のレスポンスのステータスとレポートをご覧ください。

Google Maps Platform の使用状況、割り当て、請求に関するレポートを表示するには、Cloud Console を使用します。

使用状況レポート

使用状況レポートは、プロジェクトに関連付けられた認証情報を使用し、プロジェクトから Google Maps Platform API に送信されたリクエストの数に基づいて生成されます。このリクエストには、成功したリクエスト、サーバーエラーの原因となったリクエスト、クライアント エラーの原因となったリクエストが含まれます。認証情報には、API キーとクライアント ID(プレミアム プランおよび移行済みプレミアム プランのプロジェクトの場合)が含まれます。

使用状況は、表(リクエスト、エラー、レイテンシ)とグラフ(トラフィック、エラー、レイテンシ)で表示されます。トラッキングのヒント:

  • すべての API の使用状況指標は、期間と API を指定して絞り込むことができます。レスポンス コード、API、認証情報でグループ化して、トラフィック、エラー、レイテンシを表示することも可能です。
  • 特定の API について、期間、API のバージョン、認証情報、メソッドを指定して使用状況指標を絞り込むことができます。レスポンス コード、API のメソッドとバージョン、認証情報でグループ化して、トラフィック、エラー、レイテンシを表示することも可能です。

[API とサービス] の [ダッシュボード] ページ

[API とサービス] の [ダッシュボード] ページには、プロジェクトで有効化されているすべての API の使用状況指標が表示されます(Google Maps Platform の API に加え、その他の API とサービスも対象となります)。

[ダッシュボード] ページは 3 つのグラフと 1 つの表で構成されています。これらのグラフと表に表示される使用状況データを絞り込むには、期間(1 時間~過去 30 日間)を選択します。

[トラフィック] グラフには、API ごとの秒間クエリ数(QPS)が表示されます。[エラー] グラフには、各 API について、エラーの原因となったリクエストの割合が表示されます。[レイテンシ] グラフには、各 API について、リクエストの中央値レイテンシが表示されます。

これらのグラフの下に、有効な API とサービスの一覧表が表示されます。[リクエスト] 列には、選択した期間に発生したリクエストの数が表示されます。[エラー] 列には、エラーとなったリクエストの割合が表示されます。[レイテンシ、中央値(ミリ秒)] 列には、発生したリクエストのレイテンシが表示されます。

API のモニタリング

[API とサービス] の [ダッシュボード] ページにアクセスするには:

  1. Cloud Console で [プロジェクトの選択] ページを開きます。

    [プロジェクトの選択] ページ

  2. プロジェクトを選択します。[API とサービス] の [ダッシュボード] ページが表示されます。

    ページが表示されない場合は、メニューボタン メニュー を選択してから、[API とサービス] を選択します。

詳しくは、API 使用状況のモニタリングをご覧ください。

Google Maps Platform の [概要] ページ

Google Maps Platform の [概要] ページには、有効な API と過去 30 日間のリクエスト数を示す表が表示されます。API ごとのリクエスト数はグラフ形式でも表示されます。課金グラフには、現在の請求額と、過去 3 か月の合計使用料が表示されます。

過去 30 日間に有効化された API と API のリクエスト数の一覧を表示する概要グラフのスクリーンショット。

Google Maps Platform の [概要] ページにアクセスするには:

  1. Cloud Console で Google Maps Platform ページを開きます。

    Google Maps Platform ページに移動

  2. 左側のメニューで [概要] を選択します。

Google Maps Platform API のページ

Google Maps Platform の [API] ページには 2 つの表があります。[有効な API] には、有効な各 API の過去 30 日間におけるリクエスト数、エラー数、平均レイテンシが表示されます。[その他の API] には、有効化されていない API が表示されます。

API

Google Maps Platform の [API] ページにアクセスするには:

  1. Cloud Console で Google Maps Platform ページを開きます。

    Google Maps Platform ページに移動

  2. 左側のメニューで [API] を選択します。

Google Maps Platform の [指標] ページ

Google マップの [指標] ページに、トラフィック、エラー、中央値レイテンシの 3 つのグラフが表示されます。グラフの使用状況データは、レスポンス コード、API、API メソッド、または認証情報ごとにグループ化できます。

[指標] ページのグラフの下には、選択した API のリクエスト、エラー、レイテンシが一覧表示されます。

上部にある [API] プルダウンと、右側のペインのフィルタ オプションを使用して、特定の(または複数の)API、認証情報、レスポンス コードを選択することで、表示される使用状況の指標をフィルタリングできます。表示される使用状況の指標の期間(1 時間から過去 30 日間まで)と粒度(1 秒あたりまたは 1 日あたり)も選択できます。

指標

Google Maps Platform API の [指標] ページにアクセスするには:

  1. Cloud Console で Google Maps Platform ページを開きます。

    Google Maps Platform ページに移動

  2. 左側のメニューで [指標] を選択します。

レスポンス コードのグラフ

[レスポンス コード別のトラフィック] グラフと [エラー(レスポンス コード別)] グラフには、使用状況データがレスポンス コード クラス別に表示されます。次の表は、Google Maps Platform API のレスポンス ステータスとレスポンス コード クラスの対応関係を示しています。

レスポンスのステータス レスポンス コード クラス
(2xx、3xx、4xx、5xx)
備考
OK 2xx 正常なレスポンス。

課金対象のリクエスト。割り当て分を消費します。
OK 3xx 正常なレスポンス。

課金対象のリクエスト。割り当て分を消費します。

たとえば、プレイスフォトのリクエストが成功すると、参照画像への 302 リダイレクトが返されます。
DATA_NOT_AVAILABLE 2xx 入力場所で利用できるデータがないことを示す正常なレスポンス。

課金対象のリクエスト。割り当て分を消費します。
ZERO_RESULTS 2xx 結果が返されない正常なレスポンス。

課金対象のリクエスト。割り当て分を消費します。
NOT_FOUND 2xx Directions API の場合、リクエストで指定された出発地、目的地、地点のうち、少なくとも 1 つの場所をジオコーディングできなかったことを示します。

Places API の場合、参照先の場所(place_id)がプレイス データベースで見つからなかったことを示します。

課金対象のリクエスト。割り当て分を消費します。
INVALID_REQUEST(無効なパラメータ値)、
MAX_WAYPOINTS_EXCEEDED、
MAX_ROUTE_LENGTH_EXCEEDED など
2xx パラメータ値が無効、入力値が多すぎるなどが原因で発生するエラー。詳しくは、API レスポンスをご覧ください。

課金対象のリクエスト。割り当て分を消費します。
REQUEST_DENIED 4xx 認証エラーやアクセスエラーなどが原因で発生するクライアント エラー。詳しくは API レスポンスをご覧ください。
OVER_DAILY_LIMIT、
OVER_QUERY_LIMIT、
RESOURCE_EXHAUSTED、
rateLimitExceeded、
dailyLimitExceeded、
userRateLimitExceeded
4xx クライアント エラー: 許可された期間あたりのリクエスト数が多すぎます。しばらくしてからリクエストを再試行してください。詳しくは、API レスポンスをご覧ください。
INVALID_REQUEST(無効なパラメータ、パラメータの不足、リクエスト解析エラー) 4xx クライアント エラー: リクエストが無効です。詳しくは、API レスポンスをご覧ください。
NOT_FOUND(404) 4xx Geolocation API の場合、入力が不十分で場所を推定できないことを示します。

Roads API の場合、位置情報を道路上に適切にスナップできないことを示します。

課金対象のリクエスト。割り当て分を消費します。
UNKNOWN_ERROR 5xx リクエストを処理できないことを示すサーバーエラー(内部エラー、サービスの過負荷、利用不可、タイムアウトなど)。

ステータス コードとエラー メッセージの詳細については、該当する API のレスポンス ドキュメント(Geocoding レスポンスDirections レスポンスなど)をご覧ください。

Google Maps Platform のソリューション パラメータ

Google Maps Platform には、すぐに実行できる、さまざまな種類のサンプルコードが用意されています。 たとえば、Cloud Console で Quick Builder を使用したり、実装ガイドに従って分野別ソリューションを実装したり、Codelabs で学習したりすることができます。

サンプルコードの用途とソリューションの改善方法をシステムが把握するため、API 呼び出しに solution_channel クエリ パラメータが含まれ、サンプルコードの使用状況に関する情報が自動的に収集されます。

  • solution_channel クエリ パラメータは、デフォルトでソリューションのサンプルコードに含まれています。
  • ソリューションが今後再び使用される際の品質向上に向けて、クエリ パラメータにより、今回使用されたソリューションに関する分析が匿名化されシステムに返されます。
  • オプトアウトするには、solution_channel クエリ パラメータを削除して、その値をサンプルコードから削除してください。
  • パラメータを保持する必要はありません。クエリ パラメータを削除しても、パフォーマンスには影響しません。
  • クエリ パラメータは、サンプルコードの使用状況をレポートする目的のみで使用されます。
  • クエリ パラメータは、API に特化した分析およびレポートとは別のものです。つまり、ソリューションのサンプルコードからこのパラメータを削除しても、Maps JavaScript API の内部レポートは無効になりません。

割り当てレポート

割り当てでは、プロジェクトが Google Maps Platform API に送信するリクエスト数の上限を設定します。リクエスト数を制限するには、3 つの方法(1 日あたり、1 分あたり、ユーザーごとに 1 分あたり)があります。正常に処理されたリクエスト、およびサーバーエラーを発生させたリクエストのみが割り当てを消費します。認証に失敗したリクエストは割り当てを消費しません。

割り当ての使用状況は、Cloud Console の [割り当て] ページにあるグラフに表示され、1 分あたりのリクエスト数でグループ化できます。選択した API の現在の割り当て上限は、割り当て使用状況グラフの下の表に表示されます。

この計算ツールを使って、任意の GMP API サービスの 1 分あたりの割り当て値を取得します

Google Maps Platform の [割り当て] ページ

Google Maps Platform の [割り当て] ページには、選択した API の割り当て上限と割り当て使用量が表示されます。

Google Cloud Console の割り当て使用状況グラフには、API キーとクライアント ID の合計トラフィックが表示されます。クライアント ID のトラフィックは、Google Cloud Console の [指標] グラフでも使用されます。

このページには、割り当てを消費するリクエストのみが表示されます。具体的には、成功したリクエスト(OKZERO_RESULTSDATA_NOT_AVAILABLE)とサーバーエラーとなったリクエスト(NOT_FOUNDINVALID_REQUEST/INVALID_VALUE(無効なパラメータ値)、UNKNOWN_ERROR)が表示されます。

認証、認可、無効な引数などのクライアント エラーを発生させたリクエスト(REQUEST_DENIEDOVER_QUERY_LIMITINVALID_REQUEST(無効なパラメータ、リクエスト解析エラー))は割り当てを消費しないため、このページに表示されません。

Google Maps Platform のほとんどの API(Maps Static API、Street View Static API、Geocoding API、Directions API、Places API、Time Zone API、Geolocation API、Elevation API)では、リクエストが割り当てユニットとなります。ただし、次のような例外があります。

  • Distance Matrix API の場合、割り当てユニットは出発地と目的地のペアです。
  • Maps JavaScript API の場合、割り当てユニットは地図の読み込みです。
  • Maps SDK for Android および Maps SDK for iOS の場合、ストリートビュー リクエスト / パノラマ読み込みが割り当てユニットとなります(地図の読み込みは無料で、割り当てを消費しません)。

Google Cloud Console のマップの [割り当て] ページのスクリーンショット。セレクタで指定された API の割り当てが表示されます。それに続いて、地図の読み込み回数が、対応する API の設定済み割り当てに対応する形で表示されます。

Google Maps Platform の [割り当て] ページにアクセスするには:

  1. Cloud Console で Google Maps Platform ページを開きます。

    Google Maps Platform ページに移動

  2. 左側のメニューで [割り当て] を選択します。
  3. API のプルダウン リストから API を選択します。

割り当てユニット

次の表は、Google Maps Platform API の割り当てユニットを示しています。

Google Maps Platform API 割り当てユニット
マップ
Maps SDK for Android 1 パノラマ
Maps SDK for iOS 1 パノラマ
Maps Static API 1 リクエスト
Maps JavaScript API 1 マップロード
Street View Static API 1 リクエスト
Maps Embed API 1 マップロード
ルート
Directions API 1 リクエスト
Distance Matrix API 1 要素(出発地と目的地のペア)
Roads API 1 リクエスト
プレイス
Places API 1 リクエスト
Geocoding API 1 リクエスト
Geolocation API 1 リクエスト
Time Zone API 1 リクエスト

請求レポート

請求レポートを表示

Google Maps Platform サービスの使用に関する請求レポートは、Google Cloud Console で確認できます(お支払いをご覧ください)。

請求レポートにアクセスするには:

  1. Cloud Console で [プロジェクトの選択] ページを開きます。

    [プロジェクトの選択] ページ

  2. プロジェクトを選択します。
  3. メニューボタン メニュー を選択し、[お支払い] を選択します。
  4. 請求先アカウントが複数ある場合は、[リンクされた請求先アカウントに移動] を選択して、リンクされた請求先アカウントの [概要] ページを開きます。
  5. 左側のメニューで [レポート] を選択し、リンクされた請求先アカウントに対する請求の [レポート] ページを開きます。

請求レポート(グラフ)の読み方

請求レポートでは、費用の経時的変化が積み上げ折れ線グラフとして示されます。デフォルトでは、(すべてのサービスについて)当月の日別使用料がプロジェクトごとに表示され、これには、適用されたクレジットと、その月全体の合計推定費用が含まれます。グラフの各線(およびサマリー テーブルの行)はそれぞれのプロジェクトに対応しており、費用が大きい順に並べられています。請求レポート(グラフ)の読み方の詳細

既定のビューを使用してグラフとテーブルを表示する請求レポートのスクリーンショット
図 1: 請求レポート - 既定のビューを使用してグラフとテーブルを表示

ヒント: 使用量と料金を SKU ごとに分析する

従量課金モデルがお客様の実装に及ぼす影響については、SKU ごとに集計された実際の使用量と料金をご覧ください。

SKU でグループ化された請求レポート
図 2: 請求レポート - 使用量と料金を SKU ごとに表示
請求レポートのフィルタのスクリーンショット
図 3: 請求レポートのフィルタ
レポートの項目を SKU 別に表示するには:
  1. グラフの右側にあるパネルで、[グループ条件] フィルタを展開します。
  2. [SKU] を選択します。

請求レポートで使用できるその他のフィルタには、[期間]、[プロジェクト]、[サービス]、[SKU] のほか、API リクエストの配信元でフィルタできる [場所] があります。

サービスに加えてリクエストの発生元を分類するには、請求レポートをリスト内の値のいずれかでグループ化します。Google Maps Platform API に関連する 3 つのキーは、goog-maps-api-key-suffix(API キーの最後の 4 文字)、goog-maps-platform-type(プラットフォーム: Android、iOS、JavaScript またはウェブサービス)、および goog-maps-channel(API クエリによって設定された一連の数値チャネル値)です。 フィルタリングとグループ化に関する詳細

グラフのビューを変更して、使用料からクレジット分を除外するには、右側のパネルで [費用にクレジットを含める] チェック ボックスをオフにします。

使用量のモニタリングと制限

予算を設定して費用を管理するには、次のような方法があります。

  • 予算アラートを設定し、特定の金額を超えないように利用料を追跡します。予算を設定しても、API 使用量の上限は設定されません。利用料が指定した金額に近づいたとき、アラートが通知されるだけです。
  • 1 日あたりの API 使用量の上限を設定し、課金対象となる API の利用料を管理します。1 日あたりのリクエスト数に上限を設定すると、利用料を制限できます。簡単な計算式で、希望の予算に基づく 1 日の上限を求めることができます。たとえば、(「1 か月の予算」÷「各 SKU の料金」)÷ 30 = 1 日のリクエスト数上限(1 API あたり)となります。課金対象となる API を複数使用する場合は、必要に応じて式の要素を調整してください。Google Maps Platform では毎月 200 ドル分の無料クレジットを利用できるため、この金額も考慮する必要があります。

使用状況をチャネルごとにトラッキング

数値チャネルを使って使用状況をトラキングするには、API リクエストに「channel」パラメータを追加します。指定できるチャネル値は 0~999 です。次に例を示します。

  • Geocoding ウェブサービス API
    https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY&channel=1
  • Maps JavaScript API
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&channel=2&callback=initMap"
    async defer></script>

請求レポートでは、チャネルの使用状況を直接モニタリングできます。チャネルは、[ラベル] の goog-maps-channel キーとして表示されます。

ラベルでフィルタ
図 4: SKU とチャネルでデータを絞り込む
請求レポートのデータを SKU とチャネルで絞り込むには:
  1. [グループ条件] で [SKU] を選択します。
  2. [ラベル] を選択します。
  3. [キー] プルダウンを選択し、[goog-maps-channel] を選択します。
  4. [] プルダウンを選択し、フィルタを適用する数値チャネルを選択します。

ラベルキー goog-maps-channel でグループ化すると、発生した費用がチャネルごとに表示されます。

チャネルの使用状況データをリクエストに実装した後、そのデータが請求レポートに反映されるまで少し時間がかかる場合があります(最長 24 時間)。

課金データを BigQuery にエクスポート

課金データを BigQuery にエクスポートすることもできます。

BigQuery Export では、指定した BigQuery データセットに、詳細な Cloud Billing データ(使用量や費用の見積りなど)を 1 日を通して自動的にエクスポートできます。さらに、BigQuery から課金データにアクセスし、詳細に分析することで、 Google Maps Platform がどのように利用されているかを細かく把握できます。

BigQuery を使用したデータのエクスポートとクエリを開始するには、以下のサンプルクエリをお試しください。 このクエリを実行するには、以下の準備が必要です。

  • アカウントで課金を有効に設定し、課金データを BigQuery へエクスポートできるようにします。
  • テーブル形式は PROJECT_ID.DATASET_NAME.gcp_billing_exportv1BILLING_ACCOUNT_ID です。
    • PROJECT_ID は、お客様の実際のプロジェクト ID です(「my-project-123456」など)。
    • DATASET_NAME は、お客様が作成したデータセットの名前です(「SampleDataSet」など)。
    • BILLING_ACCOUNT_ID は、お客様の請求先アカウント ID です。先頭に「gcp_billing_exportv1」を付加し、ダッシュ(-)はアンダースコア(_)に変更してください。たとえば、請求先アカウント ID が 123456-7890AB-CDEF01 の場合、gcp_billing_export_v1_123456_789AB_CDEF01 になります。

  #standardSQL
  SELECT   Date(usage_start_time, "America/Los_Angeles") AS billing_day,
           invoice.month                                 AS invoice_month,
           service.description                           AS service,
           sku.description                               AS sku,
           (
                  SELECT l.value
                  FROM   Unnest(labels) AS l
                  WHERE  l.KEY = 'goog-maps-channel' ) AS goog_maps_channel,
           Round(Sum(usage.amount), 2)                 AS usage_amount,
           usage.unit                                  AS usage_unit,
           Round(Sum(cost), 2)                         AS cost,
           cost_type,
           currency
  FROM     PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID
  WHERE    invoice.month = '202002' -- Change the invoice month with the same format as the example.
  GROUP BY billing_day,
           invoice_month,
           service,
           sku,
           goog_maps_channel,
           usage_unit,
           cost_type,
           currency
  ORDER BY billing_day,
           service,
           sku
  

Cloud Billing:

Google Maps Platform:

レスポンスのステータスとレポート

次の表は、レスポンス ステータスとレスポンス コード クラスの一覧です。該当するリクエストが使用状況レポート、割り当てレポート、請求レポートに表示されるかどうかを示しています。

レスポンスのステータス レスポンス コード クラス
(2xx、3xx、4xx、5xx)
使用状況レポート 割り当てレポート 請求レポート
OK 2xx、
3xx
ZERO_RESULTS、
DATA_NOT_AVAILABLE、
NOT_FOUND
2xx
INVALID_REQUEST(無効なパラメータ値)、
MAX_WAYPOINTS_EXCEEDED、
MAX_ROUTE_LENGTH_EXCEEDED
など
2xx
REQUEST_DENIED 4xx いいえ ×
OVER_DAILY_LIMIT、
OVER_QUERY_LIMIT、
RESOURCE_EXHAUSTED、
dailyLimitExceeded、
rateLimitExceeded、
userRateLimitExceeded
4xx いいえ ×
INVALID_REQUEST(無効なパラメータ、リクエスト解析エラー) 4xx いいえ ×
NOT_FOUND(Geolocation API と Roads API) 4xx
UNKNOWN_ERROR 5xx ×