Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einen Amazon Chime SDK-Data Lake erstellen
Mit dem Amazon Chime SDK Call Analytics Data Lake können Sie Ihre auf maschinellem Lernen basierenden Erkenntnisse und alle Metadaten aus Amazon Kinesis Data Stream in Ihren Amazon S3 S3-Bucket streamen. Verwenden Sie beispielsweise den Data Lake für den Zugriff auf URLs zu Aufzeichnungen. Um den Data Lake zu erstellen, stellen Sie eine Reihe von bereitAWS CloudFormation Vorlagen entweder von der Amazon Chime SDK-Konsole oder programmgesteuert mit demAWS CLI. Der Data Lake ermöglicht es Ihnen, Ihre Anruf-Metadaten und Sprachanalysedaten durch Referenzierung abzufragenAWSBeschreibt Datentabellen
Themen
Voraussetzungen
Sie benötigen die folgenden Elemente, um einen Amazon Chime SDK-Lake zu erstellen:
Ein Amazon Kinesis Kinesis-Stream Weitere InformationenEinen Stream über die AWS-Managementkonsole erstellenin derAmazon Kinesis Streams — Entwicklerhandbuch.
Ein S3-Bucket. Weitere InformationenIhren ersten Amazon S3 S3-Bucketin derAmazon-S3-Benutzerhandbuch.
Terminologie und Konzepte von Data Lake
Verwenden Sie die folgenden Begriffe und Konzepte, um zu verstehen, wie der Data Lake funktioniert.
- Amazon Kinesis Data Firehose
Ein ETL (Extract, Transform and Load) -Service, mit dem Sie Daten katalogisieren und für Sie, für Sie Lakes, Datenspeicher und für Analysen bereitstellen können. Weitere Informationen finden Sie unter Was ist Amazon Kinesis Data Firehose?
- Amazon Athena
Amazon Athena ist ein interaktiver Abfrageservice, mit dem Sie Daten in Amazon S3 mit Standard-SQL analysieren können. Athena ist serverlos, Sie müssen also keine Infrastruktur verwalten und Sie zahlen nur für die Abfragen, die Sie ausführen. Um Athena zu verwenden, verweisen Sie auf Ihre Daten in Amazon S3, definieren Sie das Schema und verwenden Sie Standard-SQL-Abfragen. Sie können Arbeitsgruppen auch verwenden, um Benutzer zu gruppieren und zu kontrollieren, auf welche Ressourcen sie bei der Ausführung von Abfragen Zugriff haben. Arbeitsgruppen ermöglichen es Ihnen, die Parallelität von Abfragen zu verwalten und die Ausführung von Abfragen für verschiedene Benutzergruppen und Workloads zu priorisieren.
- Glue-Datenkatalog
In Amazon Athena enthalten Tabellen und Datenbanken die Metadaten, die ein Schema für die zugrunde liegenden Quelldaten beschreiben. Für jeden Datensatz muss eine Tabelle in Athena existieren. Die Metadaten in der Tabelle teilen Athena mit, wo Sie Ihren Amazon S3 S3-Bucket haben. Es spezifiziert auch die Datenstruktur, wie Spaltennamen, Datentypen und den Namen der Tabelle. Datenbanken enthalten nur die Metadaten und Schemainformationen für einen Datensatz.
Mehrere Data Lakes erstellen
Es können mehrere Data Lakes erstellt werden, indem ein eindeutiger Glue-Datenbankname angegeben wird, um anzugeben, wo Anrufinformationen gespeichert werden sollen. Für einen bestimmtenAWSFür ein Konto kann es mehrere Konfigurationen für Anrufanalysen geben, von denen jede über einen entsprechenden Data Lake verfügt. Dies bedeutet, dass die Datentrennung für bestimmte Anwendungsfälle angewendet werden kann, z. B. für die Anpassung der Aufbewahrungsrichtlinien und die Zugriffsrichtlinien für die Speicherung der Daten. Für den Zugriff auf Erkenntnisse, Aufzeichnungen und Metadaten können unterschiedliche Sicherheitsrichtlinien angewendet werden.
Regionale Verfügbarkeit von Data Lake
Der Amazon Chime SDK Data Lake ist in den folgenden Regionen verfügbar.
Region |
Tisch Glue |
Amazon QuickSight |
---|---|---|
us-east-1 |
Verfügbar |
Verfügbar |
us-west-2 |
Verfügbar |
Verfügbar |
eu-central-1 |
Verfügbar |
Verfügbar |
Data-Lake-Architektur
Das folgende Diagramm zeigt die Data-Lake-Architektur. Die Zahlen in der Zeichnung entsprechen dem unten stehenden nummerierten Text.

Sobald Sie im Diagramm dieAWSKonsole zur Bereitstellung des CloudFormation Als Vorlage aus dem Workflow zur Einrichtung der Media Insights-Pipeline-Konfiguration fließen die folgenden Daten in den Amazon S3 S3-Bucket:
Die Amazon Chime SDK-Anrufanalysen beginnen mit dem Streaming von Echtzeitdaten in den Kinesis Data Stream des Kunden.
Amazon Kinesis Firehose speichert diese Echtzeitdaten, bis sie 128 MB oder 60 Sekunden angesammelt haben, je nachdem, was zuerst eintritt. Firehose verwendet dann die
amazon_chime_sdk_call_analytics_firehose_schema
im Glue-Datenkatalog, um die Daten zu komprimieren und die JSON-Datensätze in eine Parquet-Datei umzuwandeln.Die Parkettdatei befindet sich in Ihrem Amazon S3 S3-Bucket in einem partitionierten Format.
Neben Echtzeitdaten werden auch Zusammenfassungen von Amazon Transcribe Call Analytics in Form von WAV-Dateien (geschwärzt und nicht geschwärzt, sofern in der Konfiguration angegeben) und WAV-Dateien für die Anrufaufzeichnung an Ihren Amazon S3 S3-Bucket gesendet.
Sie können Amazon Athena und Standard-SQL verwenden, um die Daten im Amazon S3 S3-Bucket abzufragen.
Das CloudFormation Die Vorlage erstellt auch einen Glue-Datenkatalog, um diese zusammenfassenden Daten nach dem Anruf über Athena abzufragen.
Alle Daten im Amazon S3 S3-Bucket können auch mit Amazon visualisiert werden QuickSight. QuickSight baut mithilfe von Amazon Athena eine Verbindung mit einem Amazon S3 S3-Bucket auf.
Die Amazon Athena Athena-Tabelle verwendet die folgenden Funktionen, um die Abfrageleistung zu optimieren:
- Datenpartitionierung
-
Durch die Partitionierung wird Ihre Tabelle in Teile aufgeteilt und die zugehörigen Daten werden auf der Grundlage von Spaltenwerten wie Datum, Land und Region zusammengefasst. Partitionen verhalten sich wie virtuelle Spalten. In diesem Fall gibt das Feld CloudFormation Die Vorlage definiert Partitionen bei der Tabellenerstellung, um die pro Abfrage gescannte Menge zu reduzieren und die Leistung zu verbessern. Sie können auch nach Partition filtern, um die von einer Abfrage gescannte Menge zu beschränken. Weitere InformationenDaten in Athena partitionierenin derAmazon Athena Athena-Benutzerhandbuch.
Dieses Beispiel zeigt die Partitionierungsstruktur mit dem Datum 1. Januar 2023:
s3://example-bucket/amazon_chime_sdk_data_lake /serviceType=CallAnalytics/detailType={
DETAIL_TYPE
}/year=2023
/month=01
/day=01
/example-file.parquetwoher
DETAIL_TYPE
ist einer der folgenden:CallAnalyticsMetadata
TranscribeCallAnalytics
TranscribeCallAnalyticsCategoryEvents
Transcribe
Recording
VoiceAnalyticsStatus
SpeakerSearchStatus
VoiceToneAnalysisStatus
- Optimieren Sie die Generierung von spaltenbasierten Datenspeichern
-
Apache Parquet verwendet spaltenweise Komprimierung, Komprimierung basierend auf dem Datentyp und Prädikat-Pushdown zum Speichern von Daten. Bessere Komprimierungsraten oder das Überspringen von Datenblöcken bedeuten, dass weniger Byte aus Ihrem Amazon S3 S3-Bucket gelesen werden. Das führt zu einer besseren Aufrufleistung und geringeren Kosten. Für diese Optimierung ist die Datenkonvertierung von JSON zu Parquet in Amazon Kinesis Data Firehose aktiviert.
- Partitionsprojektion
Diese Athena-Funktion erstellt automatisch Partitionen für jeden Tag, um die Leistung datumsbasierter Abfragen zu verbessern.
Einrichtung eines Data Lake
Verwenden Sie die Amazon Chime SDK-Konsole, um die folgenden Schritte auszuführen.
Starten Sie die Amazon Chime SDK-Konsole (https://console.aws.amazon.com/chime-sdk/home
) und im Navigationsbereich,Rufen Sie Analytics an, wählenKonfigurationen. Schließen Sie Schritt 1 ab und wählen SieAls Nächstesund wählen Sie auf der Seite Schritt 2SprachanalysenCheckbox
UnterAngaben zur Ausgabe, wählen Sie dieData Warehouse zur Durchführung historischer AnalysenCheckbox, dann wählen SieBereitstellen CloudFormation stapelnLink.
Das System schickt Sie zumStapel schnell erstellenseite CloudFormation Konsole
-
Geben Sie einen Namen für den Stack und dann die folgenden Parameter ein:
-
DataLakeType
— WählenAnrufanalysen erstellen DataLake. KinesisDataStreamName
— Wähle deinen Stream. Es sollte der Stream sein, der für das Streaming von Anrufanalysen verwendet wird.S3BucketURI
— Wählen Sie Ihren Amazon S3 S3-Bucket Die URI muss das Präfix habens3://
bucket-name
GlueDatabaseName
— Wählen Sie ein UnikatAWSName der Glue-Datenbank. Sie können eine vorhandene Datenbank nicht wiederverwenden inAWSKonto.
-
Wählen Sie das Bestätigungs-Kontrollkästchen und wählen Sie dannData Lake erstellen. Warten Sie 10 Minuten, bis das System den See erstellt hat.
Data Lake-Einrichtung mitAWS CLI
VerwendenAWS CLIum eine Rolle mit Anrufberechtigungen zu erstellen CloudFormationerstellt einen Stapel. Gehen Sie wie folgt vor, um die IAM-Rollen zu erstellen und einzurichten. Weitere Informationen finden Sie unterErstellen eines Stacks.
Erstellen Sie eine Rolle namensAmazonChimeSdkCallAnalytics-Datalake-Provisioning-Rolleund fügen Sie der Rolle eine Aufrufrichtlinie bei, die CloudFormation die Rolle zu übernehmen.
Erstellen Sie mithilfe der folgenden Vorlage eine IAM-Vertrauensrichtlinie und speichern Sie die Datei im JSON-Format.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudformation.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Starteaws iam create-roleBefehl und übergeben Sie die Vertrauensrichtlinie als Parameter.
aws iam create-role \ --role-name AmazonChimeSdkCallAnalytics-Datalake-Provisioning-Role --assume-role-policy-document file://role-trust-policy.json
Notieren Sie dieRolledas wird von der Antwort zurückgegeben.Rolleist im nächsten Schritt erforderlich.
Erstellen Sie eine Richtlinie mit der Berechtigung zum Erstellen CloudFormation stapeln.
Erstellen Sie mithilfe der folgenden Vorlage eine IAM-Richtlinie und speichern Sie die Datei im JSON-Format. Diese Datei ist erforderlich, wenn Sie create-policy aufrufen.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeployCloudFormationStack", "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": "*" } ] }
Laufaws iam create-policyund übergeben Sie die Create-Stack-Richtlinie als Parameter.
aws iam create-policy --policy-name testCreateStackPolicy --policy-document file://create-cloudformation-stack-policy.json
Notieren Sie dieRolledas wird von der Antwort zurückgegeben.Rolleist im nächsten Schritt erforderlich.
Fügen Sie der Rolle die aws iam attach-role-policy-Richtlinie an.
aws iam attach-role-policy --role-name {Role name created above} --policy-arn {Policy ARN created above}
Erstellen Sie ein CloudFormation stapeln Sie und geben Sie die erforderlichen Parameter ein:aws cloudformation create-stack.
Geben Sie jeweils Parameterwerte an ParameterKey unter Verwendung von 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}
Ressourcen, die durch die Einrichtung eines Data Lake erstellt wurden
In der folgenden Tabelle sind die Ressourcen aufgeführt, die beim Erstellen eines Data Lakes erstellt wurden.
Ressourcentyp |
Name und Beschreibung der Ressource |
Service-Name |
---|---|---|
AWS Glue Glue-Datenkatalog-Datenbank |
GlueDatabaseName— Gruppiert logisch alle AWS Glue Glue-Datentabellen, die zu Call Insights und Voice Analytics gehören. |
Anrufanalysen, Sprachanalysen |
AWS Glue Glue-Datenkatalogtabellen |
amazon_chime_sdk_call_analytics_firehose_schema— Kombiniertes Schema für Anrufanalysen und Sprachanalysen, das in die Kinesis Firehose eingespeist wird. |
Anrufanalysen, Sprachanalysen |
call_analytics_metadata— Schema für die einmalige Metadaten-Payload |
Analytik verwenden |
|
transcribe_call_analytics— Schema für TranscribeCallAnalytics Nutzlast „UtteranceEvent“ |
Analytik verwenden |
|
transcribe_call_analytics_category_events— Schema für TranscribeCallAnalytics Nutzlast „CategoryEvent“ |
Analytik verwenden |
|
transcribe_call_analytics_post_call— Schema für die Payload „Zusammenfassung von Anrufanalysen nach dem Anruf Transcribe“ |
Analytik verwenden |
|
transkribieren— Schema für Transcribe Payload |
Analytik verwenden |
|
voice_analytics_status— Schema für Ereignisse, die für Sprachanalysen bereit sind |
Sprachanalysen |
|
speaker_search_status— Schema für identifizierende Übereinstimmungen |
Sprachanalysen |
|
voice_tone_analysis_status— Schema für Ereignisse zur Stimmentonanalyse |
Sprachanalysen |
|
Amazon Kinesis Data Firehose |
AmazonChimeSDKAnalytics-call-analytics- |
Anrufanalysen, Sprachanalysen |
Amazon Athena Athena-Arbeitsgruppe |
|
Anrufanalysen, Sprachanalysen |