透過 Customer Experience Insights (CX Insights),您可以將 CX Insights 對話和分析資料匯出至 BigQuery,自行執行原始查詢。匯出程序會寫入類似語音分析架構的結構定義。本指南將詳細說明匯出程序。
建立新的 BigQuery 資料表和資料集
CX Insights Exporter 需要 BigQuery 資料表,才能順利運作。如果沒有目標資料表,請使用這個範例,透過 bq 指令列工具建立新的資料表和資料集。如需輸出結構定義和資料欄定義,請參閱 BigQuery 結構定義說明文件。
BigQuery 對資料來源的位置設有一些限制。請參閱位置注意事項。適用於 Cloud Storage 值區的限制也適用於 CX Insights。舉例來說,如果您的 BigQuery 資料集位於EU多區域位置,您只能從europe-*其中一個位置匯出 CX Insights 資料。
bq mk --dataset --location=LOCATION PROJECT:DATASET bq mk --table PROJECT:DATASET.TABLE
將對話資料匯出至 BigQuery
匯出工具支援篩選資料,以及將資料寫入客戶自行管理的加密金鑰 (CMEK) 保護的資料表。如不想啟用這項功能,可以略過後續步驟,直接將資料匯出至 BigQuery。
在要求中新增篩選條件 (選用)
匯出至 BigQuery 功能與所有可套用至對話查詢的篩選條件組合相容。舉例來說,以下範例會匯出 2021 年 1 月 1 日至 2021 年 1 月 2 日 (太平洋標準時間) 期間,agent_id「007」處理的所有對話,且對話次數達 10 次以上:
FILTER='create_time>"2021-01-01T00:00:00-08:00" create_time<"2021-01-02T00:00:00-08:00" agent_id="007" turn_count>="10"'
將資料匯出至受 CMEK 保護的資料表 (選用)
將 Cloud KMS CryptoKey Encrypter/Decrypter 角色授予 CX Insights 服務帳戶。如要瞭解服務帳戶格式,請參閱已知問題說明文件。為服務帳戶提供正確的角色後,請將保護資料表的 KMS 金鑰完整名稱新增至匯出要求:
KMS_KEY='projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<key_name>'
在要求中指定寫入處置選項 (選填)
CCAI Insights 匯出作業支援下列 BigQuery 寫入處置選項:
WRITE_TRUNCATE:如果資料表已存在,BigQuery 會覆寫資料表資料,並使用查詢結果中的結構定義。這是預設選項。WRITE_APPEND:如果資料表已存在,BigQuery 會將資料附加至資料表。
舉例來說,下列範例會將匯出的資料附加至現有目的地資料表:
WRITE_DISPOSITION='WRITE_APPEND'
將資料匯出至 BigQuery
以下程式碼範例示範如何匯出資料。如需完整詳細資料,請參閱匯出參考說明文件。
匯出作業會建立長時間執行的 Operation 物件。您可以輪詢作業來查看狀態。
REST
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:您的 Google Cloud 專案 ID。
- DATASET:資料應匯出至的 BigQuery 資料集名稱。
- TABLE:CX Insights 資料應寫入的 BigQuery 資料表名稱。
- FILTER_QUERY:CX Insights 用來只匯出具有特定屬性的對話。舉例來說,輸入「agent_id=\"007\"」 只會匯出與代理程式 007 相關聯的對話。
HTTP 方法和網址:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/insightsdata:export
JSON 要求主體:
{
"bigQueryDestination": {
"projectId": "PROJECT_ID",
"dataset": "DATASET",
"table": "TABLE",
},
"filter": "FILTER_QUERY"
}
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
}
Python
如要向 CX Insights 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 CX Insights 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 CX Insights 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
將資料匯出至其他專案 (選用)
根據預設,CX Insights BigQuery 匯出作業會將資料寫入擁有 CX Insights 資料的專案。不過,您也可以匯出至其他專案的 BigQuery。
請使用 Identity and Access Management (IAM) 主控台或 gcloud,確保 CX Insights 服務帳戶具備收件者專案的 BigQuery 存取權:
gcloud projects add-iam-policy-binding RECEIVER_PROJECT \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-contactcenterinsights.iam.gserviceaccount.com \
--role=roles/bigquery.admin
如要將資料匯出至特定專案,請在 BigQueryDestination 物件的 project_id 欄位中,輸入接收端專案的 ID 編號。
在 BigQuery 中查詢資料
執行這項指令,即可查詢 BigQuery 中的資料。如需更多查詢選項,請參閱 BigQuery 快速入門導覽課程說明文件:
gcloud config set project PROJECT bq show DATASET.TABLE
查詢已匯出的對話:
bq query --use_legacy_sql=false \ "SELECT conversationName FROM DATASET.TABLE"