View a markdown version of this page

Einen Amazon Chime SDK-Data Lake erstellen - Amazon Chime SDK

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-Bucket streamen. Verwenden Sie beispielsweise den Data Lake, um auf URLs zu Aufzeichnungen zuzugreifen. Um den Data Lake zu erstellen, stellen Sie eine Reihe von AWS CloudFormation Vorlagen entweder über die Amazon Chime SDK-Konsole oder programmgesteuert mithilfe von bereit. AWS CLI Mit dem Data Lake können Sie Ihre Anrufmetadaten und Sprachanalysedaten abfragen, indem Sie auf die AWS Glue-Datentabellen in Amazon Athena verweisen.

Voraussetzungen

Sie müssen über die folgenden Elemente verfügen, um einen Amazon Chime SDK-Lake zu erstellen:

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-Dienst (Extrahieren, Transformieren und Laden), der Streaming-Daten zuverlässig erfasst, transformiert und an Data Lakes, Datenspeicher und Analysedienste weiterleitet. 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 mithilfe von Standard-SQL analysieren können. Athena ist serverlos, sodass Sie keine Infrastruktur verwalten müssen, 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 die Ressourcen zu kontrollieren, auf die sie bei der Ausführung von Abfragen Zugriff haben. Mithilfe von Arbeitsgruppen können Sie die Parallelität von Abfragen verwalten und die Abfrageausführung für verschiedene Benutzergruppen und Workloads priorisieren.

Glue Data Catalog

In Amazon Athena enthalten Tabellen und Datenbanken die Metadaten, die ein Schema für die zugrunde liegenden Quelldaten detailliert beschreiben. Für jeden Datensatz muss eine Tabelle in Athena existieren. Die Metadaten in der Tabelle teilen Athena den Standort Ihres Amazon S3-Buckets mit. Es spezifiziert auch die Datenstruktur, wie Spaltennamen, Datentypen und den Namen der Tabelle. Datenbanken enthalten nur die Metadaten und Schemainformationen für einen Datensatz.

Erstellen mehrerer Data Lakes

Es können mehrere Data Lakes erstellt werden, indem ein eindeutiger Glue-Datenbankname angegeben wird, um anzugeben, wo die Anrufinformationen gespeichert werden sollen. Für ein bestimmtes AWS Konto kann es mehrere Anrufanalysekonfigurationen mit jeweils einem entsprechenden Data Lake geben. Das bedeutet, dass die Datentrennung für bestimmte Anwendungsfälle angewendet werden kann, z. B. bei der Anpassung der Aufbewahrungsrichtlinien und der Zugriffsrichtlinien für die Speicherung der Daten. Für den Zugriff auf Erkenntnisse, Aufzeichnungen und Metadaten können unterschiedliche Sicherheitsrichtlinien gelten.

Regionale Verfügbarkeit von Data Lake

Der Amazon Chime SDK Data Lake ist in den folgenden Regionen verfügbar.

Region

Klebetabellen

Quick

us-east-1

Available (Verfügbar)

Available (Verfügbar)

us-west-2

Available (Verfügbar)

Available (Verfügbar)

eu-central-1

Available (Verfügbar)

Available (Verfügbar)

Data Lake-Architektur

Das folgende Diagramm zeigt die Data Lake-Architektur. Die Zahlen in der Zeichnung entsprechen dem unten nummerierten Text.

Das Programm durchläuft einen Data Lake.

In der Abbildung fließen die folgenden Daten in den Amazon S3-Bucket, sobald Sie die AWS Konsole verwenden, um die CloudFormation Vorlage aus dem Workflow zur Konfiguration der Media Insights-Pipeline-Konfiguration bereitzustellen:

  1. Die Amazon Chime SDK-Anrufanalyse beginnt mit dem Streamen von Echtzeitdaten in den Kinesis Data Stream des Kunden.

  2. Der Amazon Kinesis Firehose puffert diese Echtzeitdaten, bis sich 128 MB ansammeln oder 60 Sekunden verstreichen, je nachdem, was zuerst eintritt. Firehose verwendet dann die aus dem Glue-Datenkatalog, um die Daten zu komprimieren, und wandelt die JSON-Datensätze amazon_chime_sdk_call_analytics_firehose_schema in eine Parquet-Datei um.

  3. Die Parquet-Datei befindet sich in Ihrem Amazon S3-Bucket in einem partitionierten Format.

  4. Zusätzlich zu den Echtzeitdaten werden auch Amazon Transcribe Call Analytics-Übersichtsdateien (geschwärzt und nicht redigiert, falls in der Konfiguration angegeben) und .wav-Dateien zur Anrufaufzeichnung an Ihren Amazon S3-Bucket gesendet.

  5. Sie können Amazon Athena und Standard-SQL verwenden, um die Daten im Amazon S3-Bucket abzufragen.

  6. Die CloudFormation Vorlage erstellt auch einen Glue-Datenkatalog, um diese zusammenfassenden Daten nach dem Anruf über Athena abzufragen.

  7. Alle Daten im Amazon S3-Bucket können auch mit Quick visualisiert werden. QuickSight baut mithilfe von Amazon Athena eine Verbindung mit einem Amazon S3-Bucket auf.

Die Amazon Athena-Tabelle verwendet die folgenden Funktionen, um die Abfrageleistung zu optimieren:

Datenpartitionierung

Die Partitionierung unterteilt Ihre Tabelle in Teile und hält die zugehörigen Daten auf der Grundlage von Spaltenwerten wie Datum, Land und Region zusammen. Partitionen dienen als virtuelle Spalten. In diesem Fall definiert die CloudFormation Vorlage Partitionen bei der Tabellenerstellung, wodurch die pro Abfrage gescannte Datenmenge reduziert und die Leistung verbessert wird. Sie können auch nach Partitionen filtern, um die Menge der von einer Abfrage gescannten Daten einzuschränken. Weitere Informationen finden Sie unter Partitionieren von Daten in Athena im Amazon Athena-Benutzerhandbuch.

Dieses Beispiel zeigt die Partitionierungsstruktur mit einem Datum vom 1. Januar 2023:

  1. s3://example-bucket/amazon_chime_sdk_data_lake /serviceType=CallAnalytics/detailType={DETAIL_TYPE}/year=2023 /month=01/day=01/example-file.parquet
  2. wo DETAIL_TYPE ist eine der folgenden:

    1. CallAnalyticsMetadata

    2. TranscribeCallAnalytics

    3. TranscribeCallAnalyticsCategoryEvents

    4. Transcribe

    5. Recording

    6. VoiceAnalyticsStatus

    7. SpeakerSearchStatus

    8. VoiceToneAnalysisStatus

Optimieren Sie die spaltenförmige Datenspeichergenerierung

Apache Parquet verwendet spaltenweise Komprimierung, Komprimierung auf Basis des Datentyps und Pushdown durch Prädikate, um Daten zu speichern. Bessere Komprimierungsraten oder das Überspringen von Datenblöcken bedeuten, dass weniger Byte aus Ihrem Amazon S3-Bucket gelesen werden. Das führt zu einer besseren Abfrageleistung und geringeren Kosten. Für diese Optimierung ist die Datenkonvertierung von JSON nach Parquet in Amazon Kinesis Data Firehose aktiviert.

Partitionsprojektion

Diese Athena-Funktion erstellt automatisch Partitionen für jeden Tag, um die datumsbasierte Abfrageleistung zu verbessern.

Einrichtung eines Data Lake

Verwenden Sie die Amazon Chime SDK-Konsole, um die folgenden Schritte auszuführen.

  1. Starten Sie die Amazon Chime SDK-Konsole (https://console.aws.amazon.com/chime-sdk/home) und wählen Sie im Navigationsbereich unter Call Analytics die Option Configurations aus.

  2. Schließen Sie Schritt 1 ab, wählen Sie Weiter und aktivieren Sie auf der Seite Schritt 2 das Kontrollkästchen Voice Analytics.

  3. Aktivieren Sie unter Ausgabedetails das Kontrollkästchen Data Warehouse zur Durchführung historischer Analysen und wählen Sie dann den Link CloudFormation Stack bereitstellen.

    Das System leitet Sie zur Seite „Stack schnell erstellen“ in der CloudFormation Konsole weiter.

  4. Geben Sie einen Namen für den Stack ein und geben Sie dann die folgenden Parameter ein:

    1. DataLakeType— Wählen Sie Create Call Analytics DataLake.

    2. KinesisDataStreamName— Wähle deinen Stream. Es sollte der Stream sein, der für das Streaming von Anrufanalysen verwendet wird.

    3. S3BucketURI— Wählen Sie Ihren Amazon S3-Bucket. Der URI muss das Präfix haben s3://bucket-name

    4. GlueDatabaseName— Wählen Sie einen eindeutigen Namen für die AWS Glue-Datenbank. Sie können eine vorhandene Datenbank im AWS Konto nicht wiederverwenden.

  5. Markieren Sie das Bestätigungsfeld und wählen Sie dann Data Lake erstellen aus. Warten Sie 10 Minuten, bis das System den Lake erstellt hat.

Data Lake-Einrichtung mit AWS CLI

Wird verwendet AWS CLI , um eine Rolle mit Berechtigungen zum Aufrufen CloudFormation des Create-Stacks zu erstellen. Gehen Sie wie folgt vor, um die IAM-Rollen zu erstellen und einzurichten. Weitere Informationen finden Sie im AWS CloudFormation Benutzerhandbuch unter Erstellen eines Stacks.

  1. Erstellen Sie eine Rolle mit dem Namen AmazonChimeSdkCallAnalytics-Datalake-Provisioning-Role und fügen Sie der Rolle eine Vertrauensrichtlinie hinzu, die es ermöglicht CloudFormation , die Rolle zu übernehmen.

    1. Erstellen Sie eine IAM-Vertrauensrichtlinie mithilfe der folgenden Vorlage und speichern Sie die Datei im JSON-Format.

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudformation.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
    2. Führen Sie den aws iam create-role Befehl aus 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
    3. Notieren Sie sich den Rollen-ARN, der von der Antwort zurückgegeben wird. Die Rolle arn ist im nächsten Schritt erforderlich.

  2. Erstellen Sie eine Richtlinie mit der Berechtigung zum Erstellen eines CloudFormation Stacks.

    1. Erstellen Sie eine IAM-Richtlinie mit der folgenden Vorlage und speichern Sie die Datei im JSON-Format. Diese Datei ist erforderlich, wenn create-policy aufgerufen wird.

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "DeployCloudFormationStack", "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": "*" } ] }
    2. Führen Sie create stack policy aus aws iam create-policy und übergeben Sie sie als Parameter.

      aws iam create-policy --policy-name testCreateStackPolicy --policy-document file://create-cloudformation-stack-policy.json
    3. Notieren Sie sich den Rollen-ARN, der von der Antwort zurückgegeben wird. Die Rolle arn ist im nächsten Schritt erforderlich.

  3. 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}
  4. Erstellen Sie einen CloudFormation Stapel und geben Sie die erforderlichen Parameter ein:aws cloudformation create-stack.

    Geben Sie Parameterwerte für jede ParameterKey Verwendung an 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 das Data Lake-Setup erstellt wurden

In der folgenden Tabelle sind die Ressourcen aufgeführt, die beim Erstellen eines Data Lake erstellt wurden.

Ressourcentyp

Name und Beschreibung der Ressource

Service-Name

AWS Glue-Datenkatalog-Datenbank

GlueDatabaseName— Gruppiert logisch alle AWS Glue-Datentabellen, die zu Call Insights und Voice Analytics gehören.

Anrufanalysen, Sprachanalysen

AWS Glue-Datenkatalogtabellen

amazon_chime_sdk_call_analytics_firehose_schema — Kombiniertes Schema für Sprachanalysen zur Anrufanalyse, das in die Kinesis Firehose eingespeist wird.

Anrufanalyse, Sprachanalyse

call_analytics_metadata — Schema für Metadaten zur Anrufanalyse. Enthält OneTimeMetadata SipMetadata und.

Analytik aufrufen

call_analytics_recording_metadata — Schema für Metadaten zur Aufnahme und Sprachverbesserung Anrufanalyse, Sprachanalyse

transcribe_call_analytics — Schema für die Nutzlast „UtteranceEvent“ TranscribeCallAnalytics

Analytik aufrufen

transcribe_call_analytics_category_events — Schema für die Nutzlast „CategoryEvent“ TranscribeCallAnalytics

Analytik aufrufen

transcribe_call_analytics_post_call — Schema für die Zusammenfassung der Payload „Transcribe Call Analytics“ nach einem Anruf

Analyse von Anrufen

transcribe — Schema für Transcribe Payload

Analytik aufrufen

voice_analytics_status — Schema für Ereignisse, die für Sprachanalysen bereit sind

Sprachanalyse

speaker_search_status — Schema zur Identifizierung von Übereinstimmungen

Sprachanalyse

voice_tone_analysis_status — Schema für Ereignisse zur Stimmentonanalyse

Stimmanalyse

Amazon Kinesis Data Firehose

AmazonChimeSDK-call-analytics- UUID — Kinesis Data Firehose-Leitungsdaten für die Anrufanalyse

Anrufanalyse, Sprachanalyse

Amazon Athena-Arbeitsgruppe

GlueDatabaseName-AmazonChimeSDKDataAnalytics— Logische Benutzergruppe zur Steuerung der Ressourcen, auf die sie beim Ausführen von Abfragen Zugriff haben.

Anrufanalyse, Sprachanalyse