CX Insights vous permet d'exporter vos données de conversation et d'analyse CX Insights vers BigQuery afin de pouvoir effectuer vos propres requêtes brutes. Le processus d'exportation écrit un schéma semblable au Speech Analysis Framework. Ce guide décrit en détail le processus d'exportation.
Créer une table et un ensemble de données BigQuery
Pour que l'opération réussisse, l'outil d'exportation CX Insights nécessite une table BigQuery. Si vous n'avez pas de table cible, utilisez cet exemple pour créer une table et un ensemble de données à l'aide de l'outil de ligne de commande bq. Consultez la documentation sur le schéma BigQuery pour connaître le schéma de sortie et les définitions des colonnes.
BigQuery impose certaines restrictions concernant l'emplacement de sa source de données.
Consultez Considérations relatives aux zones.
Les restrictions qui s'appliquent aux buckets Cloud Storage s'appliquent également à CX Insights. Par exemple, si votre ensemble de données BigQuery se trouve dans la zone multirégionale EU, vous ne pouvez exporter les données CX Insights que depuis l'un des emplacements europe-*.
bq mk --dataset --location=LOCATION PROJECT:DATASET bq mk --table PROJECT:DATASET.TABLE
Exporter les données de conversation vers BigQuery
L'outil d'exportation permet de filtrer et d'écrire des données dans des tables protégées par des clés de chiffrement gérées par le client (CMEK). Si vous ne souhaitez pas activer cette fonctionnalité, vous pouvez passer à la section Exporter vos données vers BigQuery.
Ajouter un filtrage à la requête (facultatif)
L'exportation vers BigQuery est compatible avec toutes les combinaisons de filtres pouvant être appliquées aux requêtes sur les conversations.
Par exemple, l'exemple suivant exporte toutes les conversations comportant 10 tours ou plus traitées par l'agent agent_id "007" entre le 1er janvier 2021 et le 2 janvier 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"'
Exporter des données vers une table protégée par une clé CMEK (facultatif)
Attribuez le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS à votre compte de service CX Insights. Consultez la documentation sur les problèmes connus concernant le format des comptes de service. Une fois que vous avez attribué le rôle approprié à votre compte de service, ajoutez le nom complet de la clé KMS protégeant la table à la demande d'exportation :
KMS_KEY='projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<key_name>'
Spécifier l'option de disposition en écriture dans la requête (facultatif)
L'exportation CCAI Insights est compatible avec les options de disposition d'écriture de BigQuery suivantes :
WRITE_TRUNCATE: si la table existe déjà, BigQuery écrase les données de la table et utilise le schéma du résultat de la requête. Il s'agit de l'option par défaut.WRITE_APPEND: si la table existe déjà, BigQuery ajoute les données à la table.
Par exemple, l'exemple suivant ajoute les données exportées à une table de destination existante :
WRITE_DISPOSITION='WRITE_APPEND'
Exporter vos données vers BigQuery
L'exemple de code suivant montre comment exporter vos données. Pour en savoir plus, consultez la documentation de référence sur l'exportation.
L'exportation crée un objet Operation de longue durée. Vous pouvez interroger l'opération pour vérifier son état.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud.
- DATASET : nom de l'ensemble de données BigQuery vers lequel les données doivent être exportées.
- TABLE : nom de la table BigQuery dans laquelle vos données CX Insights doivent être écrites.
- FILTER_QUERY : requête utilisée par CX Insights pour n'exporter que les conversations présentant des propriétés spécifiques. Par exemple, si vous saisissez la valeur "agent_id=\"007\"", seules les conversations associées à l'agent 007 seront exportées.
Méthode HTTP et URL :
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/insightsdata:export
Corps JSON de la requête :
{
"bigQueryDestination": {
"projectId": "PROJECT_ID",
"dataset": "DATASET",
"table": "TABLE",
},
"filter": "FILTER_QUERY"
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
}
Python
Pour vous authentifier auprès de CX Insights, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour vous authentifier auprès de CX Insights, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour vous authentifier auprès de CX Insights, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Exporter des données vers un autre projet (facultatif)
Par défaut, l'exportation BigQuery de CX Insights écrit les données dans le même projet que celui qui possède les données CX Insights. Toutefois, vous pouvez également exporter les données vers BigQuery dans un autre projet.
Assurez-vous que votre compte de service CX Insights a accès à BigQuery dans le projet destinataire à l'aide de la console IAM ou de gcloud :
gcloud projects add-iam-policy-binding RECEIVER_PROJECT \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-contactcenterinsights.iam.gserviceaccount.com \
--role=roles/bigquery.admin
Pour exporter vos données vers un projet spécifique, saisissez le numéro d'ID du projet destinataire dans le champ project_id de l'objet BigQueryDestination.
Interroger les données dans BigQuery
Exécutez cette commande pour interroger les données dans BigQuery. Consultez la documentation Démarrage rapide BigQuery pour découvrir d'autres options de requête :
gcloud config set project PROJECT bq show DATASET.TABLE
Interroger les conversations exportées :
bq query --use_legacy_sql=false \ "SELECT conversationName FROM DATASET.TABLE"