本頁面說明如何監控及管理 Conversational Analytics API 代理程式的 BigQuery 費用。這類代理程式會對 BigQuery 資料執行查詢,因此會產生費用。您可以透過下列方法控管支出,避免產生預期外的費用:
- 為專案和使用者設定配額,針對整個專案或個別使用者套用廣泛的支出限制。
- 在代理程式的設定中設定
big_query_max_billed_bytes
值,限制個別查詢的費用。
事前準備
導入本頁所述的費用控管功能前,請務必符合下列條件:
- 您必須擁有 Google Cloud 啟用計費功能的專案。
- 您必須具備必要的 Identity and Access Management (IAM) 權限,才能管理 Google Cloud 專案的配額和帳單。
設定專案和使用者的配額
您可以套用標準 BigQuery 配額,為 Google Cloud 專案或個別使用者設定支出上限。這些限制有助於控管整體費用,並防止個別使用者超支。
對於可能產生高昂費用的代理程式 (例如以非常大或未經分割的表格為基礎建構的代理程式),建議先將代理程式隔離到專屬的專案中。接著,您可以套用專案層級配額來限制專案的每日最高費用,或套用使用者層級配額來確保使用者之間公平使用,也可以同時套用專案層級和使用者層級配額。
為虛擬服務專員設定專屬專案
如要為 Conversational Analytics 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
欄位中設定 big_query_max_billed_bytes
參數,透過 HTTP 或 透過 Python SDK 都可以。以下範例以 textproto
格式顯示,說明如何設定要求,為回答舊金山街道樹木相關問題的代理程式設定 100 MB 的限制:
parent: "projects/sample-project-name/locations/global"
data_agent_id: "sample-agent-id"
data_agent {
name: "projects/sample-project-name/locations/global/dataAgents/sample-agent-id"
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 {
value: 104857600 #100MB
}
}
}
datasource_references {
bq {
table_references {
project_id: "bigquery-public-data"
dataset_id: "san_francisco"
table_id: "street_trees"
}
}
}
}
}
}
在本範例中,big_query_max_billed_bytes
參數設為 104857600
個位元組 (100 MB)。這個值會限制 sample-agent-id
代理程式在 bigquery-public-data.san_francisco.street_trees
BigQuery 資料表上執行的任何查詢。
如需建立及設定代理程式的互動式範例,請參閱 Colaboratory 筆記本。如要進一步瞭解 API 欄位,請參閱 API 參考資料。
限制
管理 Conversational Analytics API 代理程式的費用時,請留意下列限制:
- 這些費用管理工具僅適用於採用以量計價的專案,不適用於採用預留配額的專案。
- 系統不支援為個別服務專員設定配額。如「為專案和使用者設定配額」一文所述,建議您將代理程式隔離在專屬專案中,然後對該專案套用專案層級或使用者配額。
- 系統不支援使用 BigQuery 標籤追蹤個別代理程式的費用。