Customer Experience Insights (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 framework Speech Analysis. Ce guide décrit le processus d'exportation.
Créer un ensemble de données et une table BigQuery
Pour que l'opération réussisse, l'exportateur CX Insights nécessite une table BigQuery. Si vous ne disposez pas d'une 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 de colonnes.
BigQuery impose certaines restrictions concernant l'emplacement de sa source de données.
Consultez la section
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 est compatible avec le filtrage et l'écriture de données dans des tables protégées par une clé de chiffrement gérée par le client (CMEK). Si vous ne souhaitez pas activer cette fonctionnalité, vous pouvez passer à l'étape suivante et exporter vos données vers BigQuery.
Ajouter un filtre à la requête (facultatif)
L'exportation vers BigQuery est compatible avec toutes les combinaisons de filtres pouvant être
appliquées aux requêtes de conversation.
Par exemple, l'exemple suivant exporte toutes les conversations comportant au moins 10 échanges gérés par l'agent_id "007" entre le 1er janvier 2021 et le 2 janvier 2021 (heure du Pacifique) :
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 CryptoKeys Cloud KMS à votre compte de service CX Insights. Consultez la documentation sur les problèmes connus concernant le format du compte 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 requête 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)
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 ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud.
- DATASET : nom de l'ensemble de données BigQuery dans 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 que CX Insights utilise 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 le service 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 le service 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 le service 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 des données vers BigQuery dans un autre projet.
Assurez-vous que votre compte de service CX Insights dispose d'un accès BigQuery au projet destinataire à l'aide de la console Identity and Access Management (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 project_id champ de l'objet.BigQueryDestination
Interroger les données dans BigQuery
Exécutez cette commande pour interroger les données dans BigQuery. Pour en savoir plus sur les options de requête, consultez la documentation sur le démarrage rapide de BigQuery :
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"