Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Creación de un lago de datos de Amazon Chime SDK
El lago de datos de análisis de SDK llamadas de Amazon Chime le permite transmitir información basada en el aprendizaje automático y cualquier metadato de Amazon Kinesis Data Stream a su bucket de Amazon S3. Por ejemplo, usar el lago de datos para acceder URLs a las grabaciones. Para crear el lago de datos, debe implementar un conjunto de AWS CloudFormation plantillas desde la SDK consola de Amazon Chime o mediante programación mediante. AWS CLI El lago de datos le permite consultar los metadatos de sus llamadas y los datos de análisis de voz haciendo referencia a las tablas de datos de AWS Glue en Amazon Athena.
Temas
Requisitos previos
Debes tener los siguientes elementos para crear un lago Amazon ChimeSDK:
Un Amazon Kinesis Data Streams. Para obtener más información, consulte Creación de una transmisión mediante la consola de AWS administración en la Guía para desarrolladores de Amazon Kinesis Streams.
Un bucket de S3. Para obtener más información, consulte Cómo crear su primer bucket de Amazon S3 en la Guía del usuario de Amazon S3.
Terminología y conceptos de lagos de datos
Utilice los siguientes términos y conceptos para comprender cómo funciona el lago de datos.
- Amazon Kinesis Data Firehose
Un servicio de extracción, transformación y carga (ETL) que captura, transforma y entrega de forma fiable los datos de streaming a lagos de datos, almacenes de datos y servicios de análisis. Para obtener más información, consulte ¿Qué es Amazon Kinesis Data Firehose?.
- Amazon Athena
Amazon Athena es un servicio de consultas interactivo que le permite analizar datos en Amazon S3 de forma estándar. SQL Athena funciona sin servidor, por lo que no hay una infraestructura para administrar y solo pagará por las consultas que ejecute. Para usar Athena, señale sus datos en Amazon S3, defina el esquema y utilice consultas estándarSQL. También puede usar grupos de trabajo para agrupar a los usuarios y controlar los recursos a los que tienen acceso cuando ejecutan consultas. Los grupos de trabajo le permiten administrar la simultaneidad de consultas y priorizar la ejecución de las consultas en diferentes grupos de usuarios y cargas de trabajo.
- Catálogo de datos de Glue
En Amazon Athena, las tablas y bases de datos son contenedores de los metadatos que definen un esquema para los datos de origen subyacentes. Para cada conjunto de datos debe existir una tabla en Athena. Los metadatos de la tabla indican a Athena la ubicación del bucket de Amazon S3. También especifica la estructura de datos, como los nombres de las columnas, los tipos de datos y el nombre de la tabla. Las bases de datos solo contienen los metadatos y la información del esquema de un conjunto de datos.
Creación de lagos de datos
Se pueden crear varios lagos de datos proporcionando un nombre único de base de datos de Glue para especificar dónde almacenar la información sobre las llamadas. Para una AWS cuenta determinada, puede haber varias configuraciones de análisis de llamadas, cada una con su correspondiente lago de datos. Esto significa que la separación de datos se puede aplicar para determinados casos de uso, como la personalización de la política de retención y la política de acceso sobre cómo se almacenan los datos. Se pueden aplicar diferentes políticas de seguridad para el acceso a la información, las grabaciones y los metadatos.
Disponibilidad regional de lago de datos
El lago de SDK datos Amazon Chime está disponible en las siguientes regiones.
Región |
Tabla de Glue |
Amazon QuickSight |
---|---|---|
us-east-1 |
Disponible |
Disponible |
us-west-2 |
Disponible |
Disponible |
eu-central-1 |
Disponible |
Disponible |
Arquitectura de lagos de datos
En el siguiente diagrama se muestra la arquitectura de lago de datos. Los números del dibujo corresponden al texto numerado que aparece a continuación.
En el diagrama, una vez que utilice la AWS consola para implementar la CloudFormation plantilla desde el flujo de trabajo de configuración del pipeline de Media Insights, los siguientes datos fluyen al bucket de Amazon S3:
El análisis de SDK llamadas de Amazon Chime empezará a transmitir datos en tiempo real al Kinesis Data Stream del cliente.
Amazon Kinesis Firehose almacena en búfer estos datos en tiempo real hasta que acumulen 128 mb o hasta que pasen 60 segundos, lo que ocurra primero. A continuación, Firehose utiliza el catálogo
amazon_chime_sdk_call_analytics_firehose_schema
de datos de Glue para comprimir los datos y transformar los JSON registros en un archivo de parquet.El archivo parquet se encuentra en su bucket de Amazon S3, en un formato particionado.
Además de los datos en tiempo real, los archivos.wav de resumen de análisis de llamadas con Amazon Transcribe posteriores a la llamada (redactados y no redactados, si se especifica en la configuración) y los archivos.wav de grabación de llamadas también se envían a su bucket de Amazon S3.
Puede utilizar Amazon Athena y el estándar SQL para consultar los datos del bucket de Amazon S3.
La CloudFormation plantilla también crea un catálogo de datos de Glue para consultar estos datos resumidos posteriores a la llamada a través de Athena.
Todos los datos del bucket de Amazon S3 también se pueden visualizar con Amazon QuickSight. QuickSight crea una conexión con un bucket de Amazon S3 mediante Amazon Athena.
La tabla Amazon Athena utiliza las siguientes características para optimizar el rendimiento de las consultas:
- Particiones de datos
-
Las particiones dividen la tabla en partes y mantienen los datos relacionados juntos de acuerdo con propiedades como la fecha, el país o la región. Las claves de partición actúan como columnas virtuales. En este caso, la CloudFormation plantilla define las particiones al crear la tabla, lo que ayuda a reducir la cantidad de datos escaneados por consulta y mejora el rendimiento. También puede filtrar por partición para restringir la cantidad de datos escaneados por una consulta. Para obtener más información, consulte Particiones de datos en Athena en la Guía del usuario de Amazon Athena.
En este ejemplo se muestra la estructura de particiones con una fecha del 1 de enero de 2023:
s3://example-bucket/amazon_chime_sdk_data_lake /serviceType=CallAnalytics/detailType={
DETAIL_TYPE
}/year=2023
/month=01
/day=01
/example-file.parquetdonde
DETAIL_TYPE
es uno de los siguientes:CallAnalyticsMetadata
TranscribeCallAnalytics
TranscribeCallAnalyticsCategoryEvents
Transcribe
Recording
VoiceAnalyticsStatus
SpeakerSearchStatus
VoiceToneAnalysisStatus
- Optimizar la generación de almacenes de datos en columnas
-
Apache Parquet utiliza la compresión por columnas, la compresión basada en el tipo de datos y la compresión de predicados para almacenar los datos. Unos índices de compresión mejores o la omisión de bloques de datos implican leer menos bytes del bucket de Amazon S3. Esto conduce a un mejor rendimiento de las consultas y a una reducción de los costos. Para esta optimización, la conversión de datos de JSON a parquet está habilitada en Amazon Kinesis Data Firehose.
- Proyección de particiones
Esta característica de Athena crea particiones automáticamente para cada día para mejorar el rendimiento de las consultas basadas en fechas.
Configuración del lago de datos
Utilice la SDK consola Amazon Chime para completar los siguientes pasos.
Inicie la SDK consola Amazon Chime ( https://console.aws.amazon.com/chime-sdk/principal
) y, en el panel de navegación, en Call Analytics, elija Configuraciones. Complete el paso 1, seleccione Siguiente y, en la página del paso 2, seleccione la casilla Análisis de voz.
En Detalles de salida, seleccione la casilla Almacén de datos para realizar un análisis histórico y, a continuación, seleccione el enlace Implementar CloudFormation pila.
El sistema lo envía a la página de creación rápida de pilas en la CloudFormation consola.
-
Indique un nombre para la pila y, a continuación, los siguientes parámetros:
-
DataLakeType
— Elija Crear análisis de llamadas DataLake. KinesisDataStreamName
— Seleccione su transmisión. Debe ser la transmisión utilizada para la transmisión de análisis de llamadas.S3BucketURI
— Seleccione su bucket de Amazon S3. URIDebe tener el prefijos3://
bucket-name
GlueDatabaseName
— Elige un nombre único para la base de datos AWS Glue. No puede reutilizar una base de datos existente en la AWS cuenta.
-
Seleccione la casilla de confirmación y, a continuación, seleccione Crear lago de datos. Espere 10 minutos para que el sistema cree el lago.
Configuración del lago de datos mediante AWS CLI
Se usa AWS CLI para crear un rol con permisos para llamar a CloudFormation la pila de creación. Siga el procedimiento que se indica a continuación para crear y configurar los IAM roles. Para obtener más información, consulte Creación de una pila en la Guía del AWS CloudFormation usuario.
Cree un rol denominado AmazonChimeSdkCallAnalytics-Datalake-Provisioning-Role y adjunte una política de confianza al rol que permita asumirlo. CloudFormation
Cree una política de IAM confianza con la siguiente plantilla y guarde el archivo en formato.json.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudformation.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Ejecute el comando aws iam create-role y pase la política de confianza como parámetro.
aws iam create-role \ --role-name AmazonChimeSdkCallAnalytics-Datalake-Provisioning-Role --assume-role-policy-document file://role-trust-policy.json
Anote el ARN de rol que devuelve la respuesta. Se requiere un ARN de rol en el siguiente paso.
Crea una política con permiso para crear una CloudFormation pila.
Cree una IAM política con la siguiente plantilla y guarde el archivo en formato.json. Este archivo es obligatorio para llamar a create-policy.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeployCloudFormationStack", "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": "*" } ] }
Ejecute aws iam create-policy y pase la política de creación de pila como parámetro.
aws iam create-policy --policy-name testCreateStackPolicy --policy-document file://create-cloudformation-stack-policy.json
Anote el ARN de rol que devuelve la respuesta. Se requiere un ARN de rol en el siguiente paso.
Asocie la política de aws iam attach-role-policy al rol.
aws iam attach-role-policy --role-name {Role name created above} --policy-arn {Policy ARN created above}
Cree una CloudFormation pila e introduzca los parámetros necesarios:aws cloudformation create-stack.
Proporcione los valores de los parámetros para cada ParameterKey uso 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}
Recursos creados por la configuración del lago de datos
La siguiente tabla muestra los recursos que se crean al crear un lago de datos.
Tipo de recurso |
Nombre y descripción del recurso |
Nombre del servicio |
---|---|---|
AWSBase de datos del catálogo de datos de Glue |
GlueDatabaseName— Agrupa de forma lógica todas las tablas de AWS Glue Data que pertenecen a la información de llamadas y al análisis de voz. |
Análisis de llamadas, análisis de voz |
AWSTablas del catálogo de datos de Glue |
amazon_chime_sdk_call_analytics_firehose_schema: esquema combinado para el análisis de llamadas y el análisis de voz que se envía a la Kinesis Firehose. |
Análisis de llamadas, análisis de voz |
call_analytics_metadata: esquema para los metadatos de análisis de llamadas. Contiene SIPmetadata y OneTimeMetadata. |
Análisis de llamadas |
|
call_analytics_recording_metadata: esquema para los metadatos de grabación y mejora de la voz | Análisis de llamadas, análisis de voz | |
transcribe_call_analytics: esquema para la carga útil «» TranscribeCallAnalytics utteranceEvent |
Análisis de llamadas |
|
transcribe_call_analytics_category_events — Esquema para la carga útil «» TranscribeCallAnalytics categoryEvent |
Análisis de llamadas |
|
transcribe_call_analytics_post_call: esquema para la carga útil resumida de análisis posterior a la llamada y transcripción de la llamada |
Análisis de llamadas |
|
transcribe_ esquema para la carga útil de Transcribe |
Análisis de llamadas |
|
voice_analytics_status: esquema para eventos preparados para el análisis de voz |
Análisis de voz |
|
speaker_search_status: esquema para las coincidencias de identificación |
Análisis de voz |
|
voice_tone_analysis_status: esquema para eventos de análisis del tono de voz |
Análisis de voz |
|
Amazon Kinesis Data Firehose |
AmazonChimeSDK-call-analytics- |
Análisis de llamadas, análisis de voz |
Grupo de trabajo de Amazon Athena |
GlueDatabaseName- AmazonChime SDKDataAnalytics — Grupo lógico de usuarios para controlar los recursos a los que tienen acceso cuando ejecutan consultas. |
Análisis de llamadas, análisis de voz |