CX Insights te permite exportar tus datos de conversación y análisis de CX Insights a BigQuery para que puedas realizar tus propias consultas sin procesar. El proceso de exportación escribe un esquema similar al marco de trabajo de Speech Analysis. En esta guía, se detalla el proceso de exportación.
Crea una tabla y un conjunto de datos nuevos de BigQuery
El exportador de CX Insights requiere una tabla de BigQuery para que la operación se realice correctamente. Si no tienes una tabla de destino, usa este ejemplo para crear una tabla y un conjunto de datos nuevos con la herramienta de línea de comandos de bq. Consulta la documentación del esquema de BigQuery para obtener información sobre el esquema de salida y las definiciones de las columnas.
BigQuery tiene algunas restricciones sobre la ubicación de su fuente de datos.
Consulta Consideraciones sobre la ubicación.
Las restricciones que se aplican a los buckets de Cloud Storage también se aplican a CX Insights. Por ejemplo, si tu conjunto de datos de BigQuery se encuentra en la ubicación multirregional EU, solo puedes exportar datos de CX Insights desde una de las ubicaciones europe-*.
bq mk --dataset --location=LOCATION PROJECT:DATASET bq mk --table PROJECT:DATASET.TABLE
Exporta datos de conversaciones a BigQuery
La herramienta de exportación admite el filtrado y la escritura de datos en tablas protegidas por claves de encriptación administradas por el cliente (CMEK). Si no quieres habilitar esta función, puedes avanzar y exportar tus datos a BigQuery.
Agrega filtrado a la solicitud (opcional)
La exportación a BigQuery es compatible con todas las combinaciones de filtros que se pueden aplicar a las consultas de conversaciones.
Por ejemplo, la siguiente muestra exportará todas las conversaciones con 10 o más turnos que manejó agent_id "007" entre el 1 y el 2 de enero de 2021 (PST):
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"'
Exporta datos a una tabla protegida por CMEK (opcional)
Proporciona a tu cuenta de servicio de CX Insights el rol de encriptador/desencriptador de CryptoKey de Cloud KMS. Consulta la documentación sobre problemas conocidos acerca del formato de las cuentas de servicio. Una vez que hayas proporcionado el rol correcto a tu cuenta de servicio, agrega el nombre completo de la clave de KMS que protege la tabla a la solicitud de exportación:
KMS_KEY='projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<key_name>'
Especifica la opción de disposición de escritura en la solicitud (opcional)
La exportación de CCAI Insights admite las siguientes opciones de disposición de escritura de BigQuery:
WRITE_TRUNCATE: Si la tabla ya existe, BigQuery reemplaza sus datos y usa el esquema del resultado de la consulta. Esta es la opción predeterminada.WRITE_APPEND: Si la tabla ya existe, BigQuery adjunta los datos a ella.
Por ejemplo, la siguiente muestra adjuntará los datos exportados a una tabla de destino existente:
WRITE_DISPOSITION='WRITE_APPEND'
Exportar tus datos a BigQuery
En el siguiente muestra de código, se muestra cómo exportar tus datos. Consulta la documentación de referencia sobre la exportación para obtener todos los detalles.
La exportación crea un objeto Operation de larga duración. Puedes sondear la operación para verificar su estado.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID de tu proyecto de Google Cloud.
- DATASET: Es el nombre del conjunto de datos de BigQuery al que se deben exportar los datos.
- TABLE: Es el nombre de la tabla de BigQuery en la que se deben escribir tus datos de CX Insights.
- FILTER_QUERY: Es una consulta que CX Insights usa para exportar solo las conversaciones que tienen propiedades específicas. Por ejemplo, si ingresas el valor "agent_id=\"007\"", solo se exportarán las conversaciones asociadas con el agente 007.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/insightsdata:export
Cuerpo JSON de la solicitud:
{
"bigQueryDestination": {
"projectId": "PROJECT_ID",
"dataset": "DATASET",
"table": "TABLE",
},
"filter": "FILTER_QUERY"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
}
Python
Para autenticarte en CX Insights, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para autenticarte en CX Insights, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en CX Insights, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Exporta datos a otro proyecto (opcional)
De forma predeterminada, la exportación de CX Insights a BigQuery escribe los datos en el mismo proyecto que posee los datos de CX Insights. Sin embargo, también puedes exportar a BigQuery en otro proyecto.
Asegúrate de que tu cuenta de servicio de CX Insights tenga acceso a BigQuery en el proyecto del destinatario a través de la consola de IAM o con gcloud:
gcloud projects add-iam-policy-binding RECEIVER_PROJECT \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-contactcenterinsights.iam.gserviceaccount.com \
--role=roles/bigquery.admin
Para exportar tus datos a un proyecto específico, ingresa el número de ID del proyecto destinatario en el campo project_id del objeto BigQueryDestination.
Consulta los datos en BigQuery
Ejecuta este comando para consultar los datos en BigQuery. Consulta la documentación de la Guía de inicio rápido de BigQuery para obtener más opciones de consultas:
gcloud config set project PROJECT bq show DATASET.TABLE
Consulta de conversaciones exportadas:
bq query --use_legacy_sql=false \ "SELECT conversationName FROM DATASET.TABLE"