本頁面說明如何監控及管理對話式數據分析 API 代理程式的 BigQuery 費用。這類代理程式會對 BigQuery 資料執行查詢,因此會產生費用。您可以透過下列方法控管支出,避免產生非預期的費用:
- 為專案和使用者設定配額,針對整個專案或個別使用者套用廣泛的支出限制。
- 在代理程式的設定中設定
big_query_max_billed_bytes值,限制個別查詢的費用。
事前準備
導入本頁所述的費用控管功能前,請務必符合下列條件:
- 您必須擁有已啟用計費功能的 Google Cloud 專案。
- 您必須具備必要的 Identity and Access Management (IAM) 權限,才能管理 Google Cloud 專案的配額和帳單。
設定專案和使用者的配額
您可以套用標準 BigQuery 配額,為 Google Cloud 專案或個別使用者設定支出上限。這些限制有助於控管整體費用,並防止個別使用者超支。
對於可能產生高額費用的代理程式 (例如以非常大或未經分割的資料表為基礎建構的代理程式),建議先將代理程式隔離到專屬的專案中。接著,您可以套用專案層級配額,限制專案的每日最高費用;套用使用者層級配額,確保使用者公平使用;或同時套用專案層級和使用者層級配額。
為代理設定專屬專案
如要為對話式數據分析 API 代理程式設定專屬專案,請按照下列步驟操作:
- 在 Google Cloud 控制台中,建立新 Google Cloud 專案。這個專案會指派給你的代理人。
- 請確認新專案已啟用計費功能。
- 確認代理程式已設定為使用這個新專案計費。設定代理程式時,您需要指定這個新專案的專案 ID。
設定專案配額
設定專屬 Google Cloud 專案後,您就可以套用配額,控管整個專案的費用。如要設定專案層級配額,請按照下列步驟操作:
在代理程式的 Google Cloud 專案中,依序前往「IAM 與管理」>「配額」。
篩選 BigQuery API 服務,然後選取「每日查詢用量」配額。
將配額編輯為您選擇的每日上限 (例如 10 TiB)。這項限制會強制停止支出,避免專案超出指定的每日費用。
為使用者設定配額
如要避免個別使用者產生高額帳單,請按照下列步驟設定每位使用者的配額:
在代理程式的 Google Cloud 專案中,依序前往「IAM 與管理」>「配額」。
篩選「BigQuery API」服務,然後選取「每位使用者每日查詢用量」配額。
將配額編輯為您選擇的每日上限 (例如每位使用者每天 1 TiB)。這項限制可確保沒有任何使用者會耗用過多資源。
限制個別查詢的費用
如要避免單一使用者查詢產生高額費用,可以在代理程式的資料來源選項中設定 big_query_max_billed_bytes 欄位,為每次查詢設定費用上限。
代理程式會在執行查詢前先進行試算,估算費用。如果預估掃描的位元組數超過 big_query_max_billed_bytes 值,查詢就會失敗,不會產生費用,且代理程式會傳回錯誤訊息。
建立或設定代理程式時,您可以在 published_context 或 staging_context 欄位中設定 big_query_max_billed_bytes 參數,透過 HTTP 或 使用 Python SDK 均可。下列 JSON 程式碼範例說明如何設定代理程式的 100 MiB 限制:
{
"data_analytics_agent": {
"published_context": {
"system_instruction": "This agent provides information about street trees in San Francisco, including their species, location, and planting date.",
"options": {
"datasource": {
"big_query_max_billed_bytes": "104857600"
}
},
"datasource_references": {
"bq": {
"tableReferences": [
{
"projectId": "bigquery-public-data",
"datasetId": "san_francisco",
"tableId": "street_trees"
}
]
}
}
}
}
}
在本範例中,big_query_max_billed_bytes 參數設為 104857600 個位元組 (100 MiB)。這個值會為 sample-agent-id 代理程式在 bigquery-public-data.san_francisco.street_trees BigQuery 資料表上執行的任何查詢設定限制。
限制
管理 Conversational Analytics API 代理程式的費用時,請留意下列限制:
- 這些費用管理工具僅適用於採用以量計價的專案,不適用於採用預留配額的專案。
- 系統不支援為個別服務專員設定配額。如「為專案和使用者設定配額」一文所述,建議您將代理程式隔離在自己的專案中,然後對該專案套用專案層級或每位使用者的配額。
- 系統不支援使用 BigQuery 標籤追蹤個別代理程式的費用。