Google 地圖平台報表

請務必定期監控您的 Google 地圖平台使用情形、配額及帳單金額。監控這些數據可協助您追蹤專案發出的要求、不超出預定的使用限制,並規劃預算來控制費用。您也可以藉由監控這些數據,偵測專案與 Google 地圖平台服務之間是否存在任何預期外的互動。

Cloud Console

您可以使用 Google Cloud Console (也稱為 Cloud Console) 監控 Google 地圖平台的使用情形、配額和帳單金額。

API 和服務

Cloud Console API 和服務可為您專案已啟用的所有 API (即 Google Maps Platform API 和 SDK,以及其他 Google API 與服務) 提供使用指標。

API 和服務

使用 API 和服務的方法如下:

  1. 開啟 Cloud Console
  2. 選擇專案。
  3. 按一下選單按鈕 選單,再按一下 [API 和服務]

Google 地圖平台

Cloud Console Google 地圖平台「只」為 Google Maps Platform API 與 SDK (下文稱「Google Maps Platform API」或簡稱「API」) 提供使用情形與配額指標。

「Google 地圖」資訊主頁

存取 Google 地圖平台的步驟如下:

  1. 開啟 Cloud Console
  2. 選擇專案。
  3. 按一下選單按鈕 選單,向下捲動至「其他 Google 產品」,然後點選「Google 地圖平台」

帳單

Cloud Console 帳單會針對您已選取的專案提供帳單和相關費用資訊。

「帳單」資訊主頁

存取帳單的方法如下:

  1. 開啟 Cloud Console
  2. 選擇專案。
  3. 按一下選單按鈕 選單,然後按一下 [帳單]
  4. 如有多個帳單帳戶,請按一下 [前往連結的帳單帳戶]
    系統會帶您前往已連結帳單帳戶的「總覽」頁面。
  5. 按一下左選單中的 [報表]
    系統會帶您前往已連結帳單帳戶的帳單「報表」頁面。

使用報表

當您的專案使用與專案相關聯的憑證發出 Google 地圖平台 API 要求,系統便會記錄要求數量做為使用資料依據。納入計算的要求包含成功的要求、導致伺服器錯誤的要求,以及導致用戶端錯誤的要求。憑證包括 API 金鑰和用戶端 ID (用於付費方案和已遷移付費方案的專案)。

使用情形指標會以表格 (要求、錯誤和延遲時間) 與圖表 (流量、錯誤和延遲時間) 的形式顯示。用於追蹤:

  • 所有 API 的使用情形指標均可根據時間範圍與 API 進行篩選;您也可以查看依回應代碼、API 與憑證分類的流量、錯誤和延遲時間。
  • 特定 API 的使用情形指標則可根據時間範圍和 API 的版本、憑證及方法進行篩選;您也可以查看依回應代碼、API 方法、版本和憑證分類的流量、錯誤和延遲時間。

「API 和服務」資訊主頁

API 和服務資訊主頁頁面會針對您專案已啟用的所有 API (即 Google Maps Platform API 和 SDK,以及其他 API 與服務) 提供使用指標總覽。

「資訊主頁」頁面提供三張圖表與一個表格。您可以選取時間範圍 (過去 1 小時到最近 30 天) 來篩選圖表與表格中顯示的使用情形。

「流量」圖表會顯示每個 API 的每秒查詢次數 (QPS) 使用資料。「錯誤」圖表會顯示每個 API 導致錯誤的要求百分比。「延遲時間」圖表會顯示每個 API 的要求延遲時間中位數。

圖表下方會有表格列出已啟用的 API 和服務。 要求數是指 (指定時間範圍的) 要求數量。錯誤是指導致錯誤的要求數量。延遲時間 (媒介延遲時間與百分位數) 則是指這些要求的延遲時間。

詳情請參閱「監控您的 API 使用情形」一文。

監控 API

Google 地圖「總覽」頁面

Google 地圖總覽頁面會列出已啟用的 API 和最近 30 天的使用要求,並以表格呈現,也會以圖表形式顯示 API 提出的要求。「帳單」圖表則會顯示您目前的帳單和最近 3 個月的總使用資料。

注意事項:如果您按一下任何已啟用 API 的名稱,系統就會將您帶往該 API 的 Google 地圖指標頁面。

總覽

Google Maps Platform API 頁面

Google Maps API 頁面中有兩個表格。「已啟用的 API」表格會顯示每個已啟用 API 在最近 30 天內的要求數量、錯誤數量,及平均延遲時間。「其他 API」表格則會列出尚未啟用的 API (因此不會回報使用情形)。

注意事項:如果您按一下任何已啟用 API 的名稱,系統就會將您帶往該 API 的 Google 地圖指標頁面。

API

Google 地圖「指標」頁面

Google 地圖「指標」頁面會顯示三種圖表:「流量」、「錯誤」和「延遲時間中位數」。圖表中的使用資料可按照回應代碼、API、API 方法或憑證分類。

「指標」頁面的圖表下方有個 API 表格,當中會列出您所選 API 的要求、錯誤及延遲時間。

只要使用頂端的 API 下拉式選單和右側窗格中的篩選選項,您就能選取特定或多個 API、憑證和/或回應代碼,來篩選畫面上顯示的使用指標。此外,您也可以為畫面上顯示的使用指標選取時間範圍 (從 1 小時到最近 30 天) 和精細程度 (每秒或每天)。

指標

「回應代碼」圖表

「依回應碼區別的流量」和「依回應碼區別的錯誤」圖表會依據回應代碼類別區別使用資料。下表列出了 Google 地圖平台 API 回應狀態與回應代碼類別之間的對應關係:

回應狀態 回應代碼類別
(2xx、3xx、4xx、5xx)
附註
OK 2xx 成功的回應。

此為可計費的要求,因此會耗用配額。
OK 3xx 成功的回應。

此為可計費的要求,因此會耗用配額。

舉例來說,成功的地點照片要求回傳了所參照圖片的 302 重新導向回應。
DATA_NOT_AVAILABLE 2xx 成功的回應,表示您輸入的地點沒有可用的資料。

此為可計費的要求,因此會耗用配額。
ZERO_RESULTS 2xx 未傳回任何結果的成功回應。

此為可計費的要求,因此會耗用配額。
NOT_FOUND 2xx 若是用於回應 Directions API,這表示在要求的出發地、目的地或路線控點中,有至少一個指定地點無法進行地理編碼處理。

如果是用於回應 Places API,則表示在 Google 地點介面集資料庫中找不到該參照位置 (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 地圖平台解決方案參數

Google 地圖平台提供多種程式碼範例,可協助您快速完成設定並使用功能。舉例來說,您可以使用 Cloud Console 中的快速建構工具、依照產業解決方案導入指南進行操作,以及參考程式碼研究室的教學內容。

為瞭解使用情況並找出方式來提升解決方案的效能,Google 在 API 呼叫中加入 solution_channel 查詢參數,藉此收集程式碼範例使用情況的相關資訊:

  • 解決方案的程式碼範例預設內含 solution_channel 查詢參數。
  • 查詢參數會傳回解決方案的去識別化分析資料,供 Google 做為提升日後解決方案品質時的參考。
  • 如想停用此參數,請從程式碼範例中刪除 solution_channel 查詢參數及其參數值。
  • 沒有硬性規定保留參數,移除查詢參數不會影響效能。
  • 查詢參數僅供用來製作程式碼範例使用情況報表。
  • 查詢參數不是任何 API 相關數據分析和報表的一部分;換句話說,從解決方案程式碼範例中移除參數並不會導致 Maps JavaScript API 內部報表遭停用。

「配額」報表

配額設定會限制專案可發出的 Google 地圖平台 API 要求數量。限制要求數量的方式有以下三種:每天、每分鐘和每位使用者每分鐘。只有成功和導致伺服器錯誤的要求才會計入配額。未通過驗證的要求不會占用配額。

在 Cloud Console 的「配額」頁面中,配額用量會以圖表呈現,並依每分鐘的要求進行分類。所選 API 目前的配額限制會在配額用量圖表下方的表格中顯示。

使用這個計算機來取得任何 GMP API 產品的每分鐘配額值

Google 地圖「配額」頁面

Google 地圖配額頁面會顯示您選取的 API 的配額限制和已用配額量。

Google Cloud Console 上的配額用量圖表會顯示 API 金鑰和用戶端 ID 的總流量。您也可以在 Cloud Console 上的「指標」圖表中查看用戶端 ID 流量。詳情請參閱問題 158809616

這個頁面只顯示會耗用配額的要求,像是成功的要求 (OK、ZERO_RESULTS、DATA_NOT_AVAILABLE),以及導致伺服器錯誤的要求 (NOT_FOUND、INVALID_REQUEST/INVALID_VALUE (參數值無效)、UNKNOWN_ERROR)。

導致用戶端錯誤的要求不會耗用配額,也不會顯示在這個頁面上;這類錯誤包括驗證/授權/無效引數錯誤 (REQUEST_DENIED、OVER_QUERY_LIMIT、INVALID_REQUEST (參數無效、要求剖析錯誤))。

大多數 Google 地圖平台 API (Static Maps API、Street View Static API、Geocoding API、Directions API、Places API、Timezone API、Geolocation API 和 Elevation API) 是以要求為配額單位。但以下 API 除外:

  • Distance Matrix API 的配額單位是元素 (起點-目的地組合)。
  • Maps JavaScript API 的配額單位是地圖載入次數。
  • Maps SDK for Android 和 Maps SDK for iOS 的配額單位則是「街景服務」要求/全景載入次數 (地圖載入為免費,不會耗用配額)。
配額

配額單位

下表列出 Google 地圖平台 API 的配額單位。

Google 地圖平台 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 Cloud Console 中查看 Google 地圖平台產品的使用帳單報表 (請參閱帳單)。

如何解讀帳單報表圖表

帳單報表會以堆疊折線圖的形式顯示累計的費用。預設檢視畫面會顯示當月依專案 (所有產品) 分類的每日用量費,包含已套用的任何用量抵免額,以及當月全月的預測總費用。圖表中所有折線 (以及摘要表格中的資料列) 都有對應的專案,並依據費用由高至低排列。進一步瞭解如何解讀帳單報表圖表

帳單報表
圖 1:帳單報表以預設的預先設定檢視畫面顯示圖表和表格。

提示:分析每個 SKU 的使用情形與費用

如要瞭解即付即用定價模式更精確的詳細資訊,以及這個模式如何影響您的實作項目,請依 SKU 查看您的使用情形與費用

依 SKU 分類的帳單報表
圖 2:帳單表格依 SKU 顯示使用情形和費用明細項目。
帳單報表篩選器
圖 3:帳單報表篩選器。
如要將報表檢視變更為依 SKU 顯示明細項目:
  1. 在圖表右側的面板中,展開「分組依據」篩選器。
  2. 選取 [SKU]

其他可用的帳單報表篩選器包括「時間範圍」、「專案」、「產品」、「SKU」,以及可讓您依照 API 要求來源進行篩選的「位置」

除了產品外,如要將使用來源分類,您也可以依照其中一個列出的值將帳單報表分組。與 Google Maps Platform API 相關的三個鍵分別是 goog-maps-api-key-suffix (API 金鑰的最後四個字元)、goog-maps-platform-type (平台:Android、iOS、JavaScript 或網路服務),以及 goog-maps-channel (API 查詢中的既定數字管道值)。 進一步瞭解如何篩選及分組

只要取消勾選右側面板中的 [在費用中納入抵免額] 核取方塊,即可變更圖表的檢視畫面,讓系統在計算費用時排除使用量抵免額。

監控及限制耗用量

為方便您規劃預算及控管費用,建議您執行以下操作:

  • 設定預算快訊可讓您追蹤支出累進至特定金額的進度。設定預算並不會限制使用 API,只會在支出金額接近指定金額時提醒您。
  • 限制每日 API 用量,即可控管付費 API 的使用費。只要設限每日要求數量,即可限制支出。您可以依據您想支出的金額,使用簡單的公式來決定每日上限。例如:(每月支出/每個 SKU 的價格)/30 = (單一 API 的) 每日要求上限。請注意,由於您導入的功能可能會使用多個可計費 API,因此請視需要調整上述公式。提醒您,Google 地圖平台每月提供 $200 美元的抵免額,因此計算時請務必考量這一點。

每個管道的使用情形追蹤

如要透過數字管道追蹤使用情形,您必須在 API 要求中加入「channel」參數。唯一可接受的管道值是介於 0 到 999 的數字。以下列舉幾個例子:

  • Geocoding Web Service 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 可讓您將整天的 Cloud Billing 詳細資料 (例如使用情形和預估費用資料) 自動匯出至您指定的 BigQuery 資料集。您便可透過 BigQuery 存取帳單資料,進行詳細的分析。 如此一來,您就能更進一步掌握 Google 地圖平台使用量的來源。

如要開始使用 BigQuery 匯出並查詢資料,您可以試用以下查詢示例。 執行這項查詢之前,您必須:

  • 為您的帳戶啟用帳單功能與 BigQuery 帳單匯出功能。
  • 表格格式為 PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID,其中:
    • PROJECT_ID 是您的實際專案 ID (例如「my-project-123456」)。
    • DATASET_NAME 是您已建立的資料集名稱 (例如「SampleDataSet」)。
    • BILLING_ACCOUNT_ID 是您帳單帳戶 ID 的參照,開頭字串為「gcp_billing_export_v1_」,其中破折號 (-) 替換成底線 (_)。 舉例來說,帳單帳戶 ID 123456-7890AB-CDEF01 會變成 gcp_billing_export_v1_123456_789AB_CDEF01

注意:您新建資料集後,介面會隨即顯示該資料集,但可查詢的資料表則尚未顯示。 系統會在幾個小時後自動產生資料表。您會在資料表產生後大約 24 小時才能看到資料。您的 BigQuery 資料集只會反映您設定帳單匯出當日起的使用情形和費用資料。也就是說,系統不會溯及過往的帳單資料,因此您不會看到啟用 BigQuery Export 之前的帳單資料。

  #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 地圖平台:

回應狀態和報表

下表列出回應狀態和回應代碼類別,並指出對應的要求是否顯示在「使用」、「配額」和/或「帳單」報表中。

回應狀態 回應代碼類別
(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