Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'un lac de données Amazon Chime SDK
Le lac de données d'analyse des appels Amazon Chime SDK vous permet de diffuser vos informations issues de l'apprentissage automatique et toutes les métadonnées d'Amazon Kinesis Data Stream vers votre compartiment Amazon S3. Par exemple, utiliser le lac de données pour accéder aux URL des enregistrements. Pour créer le lac de données, vous déployez un ensemble de AWS CloudFormation modèles depuis la console Amazon Chime SDK ou par programmation à l'aide du. AWS CLI Le lac de données vous permet d'interroger les métadonnées de vos appels et les données d'analyse vocale en référençant les tableaux de données AWS Glue dans Amazon Athena.
Rubriques
Conditions préalables
Pour créer un lac SDK Amazon Chime, vous devez disposer des éléments suivants :
-
Un flux de données Amazon Kinesis. Pour plus d'informations, consultez la section Création d'un stream via AWS Management Console dans le guide du développeur Amazon Kinesis Streams.
-
Un compartiment S3. Pour plus d'informations, consultez la section Créer votre premier compartiment Amazon S3 dans le guide de l'utilisateur Amazon S3.
Terminologie et concepts des lacs de données
Utilisez les termes et concepts suivants pour comprendre le fonctionnement du lac de données.
- Amazon Kinesis Data Firehose
-
Service d'extraction, de transformation et de chargement (ETL) qui capture, transforme et diffuse de manière fiable des données en streaming vers des lacs de données, des magasins de données et des services d'analyse. Pour plus d'informations, consultez Qu'est-ce qu'Amazon Kinesis Data Firehose ?
- Amazon Athena
-
Amazon Athena est un service de requête interactif qui vous permet d'analyser des données dans Amazon S3 à l'aide du langage SQL standard. Athena fonctionne sans serveur, vous n'avez donc aucune infrastructure à gérer et vous ne payez que pour les requêtes que vous exécutez. Pour utiliser Athena, pointez sur vos données dans Amazon S3, définissez le schéma et utilisez des requêtes SQL standard. Vous pouvez également utiliser des groupes de travail pour regrouper les utilisateurs et contrôler les ressources auxquelles ils ont accès lors de l'exécution de requêtes. Les groupes de travail vous permettent de gérer la simultanéité des requêtes et de hiérarchiser l'exécution des requêtes entre différents groupes d'utilisateurs et différentes charges de travail.
- Catalogue de données Glue
-
Dans Amazon Athena, les tables et les bases de données contiennent les métadonnées qui détaillent un schéma pour les données sources sous-jacentes. Pour chaque jeu de données, une table doit exister dans Athena. Les métadonnées du tableau indiquent à Athena l'emplacement de votre compartiment Amazon S3. Il spécifie également la structure des données, comme les noms des colonnes, les types de données et le nom de la table. Les bases de données contiennent uniquement les métadonnées et les informations de schéma d'un ensemble de données.
Création de plusieurs lacs de données
Plusieurs lacs de données peuvent être créés en fournissant un nom de base de données Glue unique pour spécifier où stocker les informations sur les appels. Pour un AWS compte donné, il peut y avoir plusieurs configurations d'analyse des appels, chacune associée à un lac de données correspondant. Cela signifie que la séparation des données peut être appliquée pour certains cas d'utilisation, tels que la personnalisation de la politique de conservation et de la politique d'accès sur la manière dont les données sont stockées. Différentes politiques de sécurité peuvent être appliquées pour accéder aux informations, aux enregistrements et aux métadonnées.
Disponibilité régionale des lacs de données
Le lac de données Amazon Chime SDK est disponible dans les régions suivantes.
Région |
Table Glue |
Quick |
|---|---|---|
us-east-1 |
Available |
Available |
us-west-2 |
Available |
Available |
eu-central-1 |
Available |
Available |
Architecture du lac de données
Le schéma suivant montre l'architecture du lac de données. Les numéros du dessin correspondent au texte numéroté ci-dessous.
Dans le diagramme, une fois que vous avez utilisé la AWS console pour déployer le CloudFormation modèle à partir du flux de configuration de Media Insights Pipeline, les données suivantes sont transmises au compartiment Amazon S3 :
-
L'analyse des appels du SDK Amazon Chime commencera à diffuser des données en temps réel vers le Kinesis Data Stream du client.
-
Amazon Kinesis Firehose met ces données en mémoire tampon en temps réel jusqu'à ce qu'elles atteignent 128 Mo, ou 60 secondes, selon la première éventualité. Firehose utilise ensuite les données du
amazon_chime_sdk_call_analytics_firehose_schemacatalogue de données Glue pour compresser les données et transformer les enregistrements JSON en un fichier parquet. -
Le fichier parquet se trouve dans votre compartiment Amazon S3, dans un format partitionné.
-
Outre les données en temps réel, les fichiers .wav récapitulatifs Amazon Transcribe Call Analytics après l'appel (expurgés et non expurgés, si cela est spécifié dans la configuration) et les fichiers .wav d'enregistrement des appels sont également envoyés à votre compartiment Amazon S3.
-
Vous pouvez utiliser Amazon Athena et le SQL standard pour interroger les données du compartiment Amazon S3.
-
Le CloudFormation modèle crée également un catalogue de données Glue pour interroger ces données récapitulatives post-appel via Athena.
-
Toutes les données du compartiment Amazon S3 peuvent également être visualisées à l'aide de Quick. QuickSight établit une connexion avec un compartiment Amazon S3 à l'aide d'Amazon Athena.
La table Amazon Athena utilise les fonctionnalités suivantes pour optimiser les performances des requêtes :
- Partitionnement de données
-
Le partitionnement divise votre tableau en plusieurs parties et regroupe les données associées en fonction des valeurs de colonne telles que la date, le pays et la région. Les partitions agissent comme des colonnes virtuelles. Dans ce cas, le CloudFormation modèle définit des partitions lors de la création de la table, ce qui permet de réduire la quantité de données analysées par requête et d'améliorer les performances. Vous pouvez également filtrer par partition pour limiter la quantité de données numérisées par une requête. Pour plus d'informations, consultez la section Partitionnement des données dans Athena dans le guide de l'utilisateur Amazon Athena.
Cet exemple montre la structure de partitionnement avec une date du 1er janvier 2023 :
-
s3://example-bucket/amazon_chime_sdk_data_lake /serviceType=CallAnalytics/detailType={DETAIL_TYPE}/year=2023/month=01/day=01/example-file.parquet -
où se
DETAIL_TYPEtrouve l'un des éléments suivants :-
CallAnalyticsMetadata -
TranscribeCallAnalytics -
TranscribeCallAnalyticsCategoryEvents -
Transcribe -
Recording -
VoiceAnalyticsStatus -
SpeakerSearchStatus -
VoiceToneAnalysisStatus
-
-
- Optimisez la génération de banques de données en colonnes
-
Apache Parquet utilise la compression par colonne, la compression basée sur le type de données et la pression des prédicats vers le bas pour stocker les données. De meilleurs taux de compression ou si vous ignorez des blocs de données, vous pouvez lire moins d'octets depuis votre compartiment Amazon S3. Cela permet d'améliorer les performances des requêtes et de réduire les coûts. Pour cette optimisation, la conversion des données de JSON en parquet est activée dans Amazon Kinesis Data Firehose.
- Projection de partition
-
Cette fonctionnalité Athena crée automatiquement des partitions pour chaque jour afin d'améliorer les performances des requêtes basées sur la date.
Configuration du lac de données
Utilisez la console Amazon Chime SDK pour effectuer les étapes suivantes.
-
Démarrez la console Amazon Chime SDK (https://console.aws.amazon.com/chime-sdk/home
) et dans le volet de navigation, sous Call Analytics, sélectionnez Configurations. -
Terminez l'étape 1, choisissez Suivant et, sur la page Étape 2, cochez la case Voice Analytics.
-
Sous Détails de la sortie, cochez la case Entrepôt de données pour effectuer une analyse historique, puis choisissez le lien Déployer la CloudFormation pile.
Le système vous redirige vers la page Quick Create stack de la CloudFormation console.
-
Entrez un nom pour la pile, puis entrez les paramètres suivants :
-
DataLakeType— Choisissez Créer une analyse des appels DataLake. -
KinesisDataStreamName— Choisissez votre stream. Il doit s'agir du flux utilisé pour le streaming d'analyse des appels. -
S3BucketURI— Choisissez votre compartiment Amazon S3. L'URI doit avoir le préfixes3://bucket-name -
GlueDatabaseName— Choisissez un nom unique pour AWS la base de données Glue. Vous ne pouvez pas réutiliser une base de données existante dans un AWS compte.
-
-
Cochez la case d'accusé de réception, puis choisissez Créer un lac de données. Prévoyez 10 minutes pour que le système crée le lac.
Configuration du lac de données à l'aide de AWS CLI
AWS CLI Utilisez-le pour créer un rôle avec les autorisations nécessaires pour appeler CloudFormation Create Stack. Suivez la procédure ci-dessous pour créer et configurer les rôles IAM. Pour plus d'informations, consultez la section Création d'une pile dans le Guide de AWS CloudFormation l'utilisateur.
-
Créez un rôle appelé AmazonChimeSdkCallAnalytics-Datalake-Provisioning-Role et associez une politique de confiance au rôle CloudFormation permettant d'assumer le rôle.
-
Créez une politique de confiance IAM à l'aide du modèle suivant et enregistrez le fichier au format .json.
-
Exécutez la aws iam create-role commande et transmettez la politique de confiance en tant que paramètre.
aws iam create-role \ --role-name AmazonChimeSdkCallAnalytics-Datalake-Provisioning-Role --assume-role-policy-document file://role-trust-policy.json -
Notez le rôle arn renvoyé par la réponse. role arn est requis à l'étape suivante.
-
-
Créez une politique avec l'autorisation de créer une CloudFormation pile.
-
Créez une politique IAM à l'aide du modèle suivant et enregistrez le fichier au format .json. Ce fichier est obligatoire lors de l'appel à create-policy.
-
Exécutez aws iam create-policy et transmettez la politique de création de pile en tant que paramètre.
aws iam create-policy --policy-name testCreateStackPolicy --policy-document file://create-cloudformation-stack-policy.json -
Notez le rôle arn renvoyé par la réponse. role arn est requis à l'étape suivante.
-
-
Attachez la stratégie aws iam attach-role-policy au rôle.
aws iam attach-role-policy --role-name {Role name created above} --policy-arn {Policy ARN created above} -
Créez une CloudFormation pile et entrez les paramètres requis :aws cloudformation create-stack.
Fournissez des valeurs de paramètres pour chaque ParameterKey utilisation ParameterValue.
aws cloudformation create-stack --capabilities CAPABILITY_NAMED_IAM --stack-name testDeploymentStack --template-url https://chime-sdk-assets.s3.amazonaws.com/public_templates/AmazonChimeSDKDataLake.yaml --parameters ParameterKey=S3BucketURI,ParameterValue={S3 URI} ParameterKey=DataLakeType,ParameterValue="Create call analytics datalake" ParameterKey=KinesisDataStreamName,ParameterValue={Name of Kinesis Data Stream} --role-arn {Role ARN created above}
Ressources créées par la configuration d'un lac de données
Le tableau suivant répertorie les ressources créées lorsque vous créez un lac de données.
Type de ressource |
Nom et description de la ressource |
Nom du service |
|---|---|---|
Base de données du catalogue de données AWS Glue |
GlueDatabaseName— Regroupe logiquement tous les tableaux de données AWS Glue appartenant à l'analyse des appels et à l'analyse vocale. |
Analyse des appels, analyse vocale |
|
Tableaux du catalogue de données AWS Glue |
amazon_chime_sdk_call_analytics_firehose_schema — Schéma combiné pour l'analyse des appels et l'analyse vocale transmis au Kinesis Firehose. |
Analyse des appels, analyse vocale |
call_analytics_metadata — Schéma pour les métadonnées d'analyse des appels. Contient des métadonnées SIP et. OneTimeMetadata |
Analyse des appels |
|
| call_analytics_recording_metadata — Schéma pour les métadonnées d'enregistrement et d'amélioration de la voix | Analyse des appels, analyse vocale | |
transcribe_call_analytics — Schéma de la charge utile « UtteranceEvent » TranscribeCallAnalytics |
Analyse des appels |
|
transcribe_call_analytics_category_events — Schéma de la charge utile « CategoryEvent » TranscribeCallAnalytics |
Analyse des appels |
|
transcribe_call_analytics_post_call — Schéma de la charge utile récapitulative de Transcribe Call Analytics après un appel |
Analyse des appels |
|
transcribe — Schéma de la charge utile de transcription |
Analyse des appels |
|
voice_analytics_status — Schéma pour les événements prêts pour l'analyse vocale |
Analyses vocales |
|
speaker_search_status — Schéma pour les correspondances d'identification |
Analyses vocales |
|
voice_tone_analysis_status — Schéma pour les événements d'analyse de tonalité vocale |
Analyses vocales |
|
Amazon Kinesis Data Firehose |
AmazonChimeSDK-call-analytics- |
Analyse des appels, analyse vocale |
Groupe de travail Amazon Athena |
GlueDatabaseName-AmazonChimeSDKDataAnalytics— Groupe logique d'utilisateurs pour contrôler les ressources auxquelles ils ont accès lors de l'exécution de requêtes. |
Analyse des appels, analyse vocale |