串流訊息資料 - Amazon Chime 聲 SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

串流訊息資料

您可以配置AppInstance為以流的形式接收數據,例如消息和渠道事件。然後,您可以即時對該資料做出反應。目前,Amazon Chime 開發套件簡訊僅接受 Kinesis 串流作為串流目的地。您必須具備下列先決條件,才能搭配此功能使用 Kinesis 串流:

  • Kinesis 串流必 AWS 須與. AppInstance

  • 串流必須位於與AppInstance.

  • 流名稱有一個以開頭的前綴chime-messaging-

  • 您必須配置至少兩個碎片。每個碎片最多可以接收每秒 1MB 的數據,因此請相應地擴展流。

  • 您必須啟用伺服器端加密 (SSE)。

設定 Kinesis 串流
  1. 使用上一節中的先決條件建立一或多個 Kinesis 串流,然後取得 ARN。確保呼叫者除了 Amazon Chime 許可以外,還具有 Kinesis 許可。

    下列範例說明如何使用 AWS CLI 建立具有兩個碎片的 Kinesis 串流,以及如何啟用 SSE。

    aws kinesis create-stream --stream-name chime-messaging-unique-name --shard-count 2

    aws kinesis start-stream-encryption --stream-name chime-messaging-unique-name --encryption-type KMS --key-id "alias/aws/kinesis"

  2. 透過呼叫 PutMessagingStreamingConfigurationsAPI 來設定串流。

    您可以設定兩種資料類型中的一種或兩種資料類型,也可以為它們選擇相同的串流或不同的串流。

    下列範例顯示如何使用 AWS CLI 來設定appinstance串流ChannelMessage和資Channel料類型。

    aws chime-sdk-messaging put-messaging-streaming-configurations --app-instance-arn app_instance_arn \ --streaming-configurations DataType=ChannelMessage,ResourceArn=kinesis_data_stream_arn
    aws chime-sdk-messaging put-messaging-streaming-configurations --app-instance-arn app_instance_arn \ --streaming-configurations DataType=Channel,ResourceArn=kinesis_data_stream_arn

    資料類型具有下列範圍:

    DataType 產生的事件類型

    ChannelMessage

    CREATE_CHANNEL_MESSAGE

    REDACT_CHANNEL_MESSAGE

    UPDATE_CHANNEL_MESSAGE

    DELETE_CHANNEL_MESSAGE

    Channel

    CREATE_CHANNEL

    CREATE_SUB_CHANNEL

    UPDATE_CHANNEL

    DELETE_CHANNEL

    UPDATE_CHANNEL_EXPIRATION_SETTINGS

    DELETE_SUB_CHANNEL

    CREATE_CHANNEL_MEMBERSHIP

    DELETE_CHANNEL_MEMBERSHIP

    CREATE_CHANNEL_BAN

    DELETE_CHANNEL_BAN

    CREATE_CHANNEL_MODERATOR

    DELETE_CHANNEL_MODERATOR

  3. 開始從設定的 Kinesis 串流讀取資料。

    注意

    在設定串流之前傳送的任何事件都不會傳送到 Kinesis 串流。

資料格式

Kinesis 會以 JSON 格式輸出具有下列欄位的記錄:EventTypePayload。裝載格式取決於EventType. 下表列出事件類型及其對應的裝載格式。

EventType 裝載格式

CREATE_CHANNEL_MESSAGE

Channel message

REDACT_CHANNEL_MESSAGE

UPDATE_CHANNEL_MESSAGE

DELETE_CHANNEL_MESSAGE

CREATE_CHANNEL

Channel

UPDATE_CHANNEL

DELETE_CHANNEL

UPDATE_CHANNEL_EXPIRATION_SETTINGS

CREATE_CHANNEL_MEMBERSHIP

ChannelMembership

DELETE_CHANNEL_MEMBERSHIP

CREATE_CHANNEL_BAN

ChannelBan

DELETE_CHANNEL_BAN

CREATE_CHANNEL_MODERATOR

ChannelModerator

DELETE_CHANNEL_MODERATOR

CREATE_SUB_CHANNEL

channelARN

SubChannelId

DELETE_SUB_CHANNEL