

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon Chime SDK 消息传递中流式传递消息数据
<a name="streaming-export"></a>

您可以配置 `AppInstance`，从而以流的形式接收消息和频道事件等数据。然后，您可以对这些数据做出实时反应。目前，Amazon Chime SDK 消息传递仅接受 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"`

1. 通过调用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_PutMessagingStreamingConfigurations.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_PutMessagingStreamingConfigurations.html) API 来配置流式传输。

   您可以配置两种数据类型中的一种或两种，也可以为它们选择相同的流或单独的流。

   以下示例说明如何使用 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}}
   ```

   数据类型的作用域如下：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/chime-sdk/latest/dg/streaming-export.html)

1. 开始从您配置的 Kinesis 流中读取数据。
**注意**  
在配置流之前发送的任何事件都不会发送到您的 Kinesis 流中。

**数据格式**  
Kinesis 以 JSON 格式输出包含以下字段的记录：`EventType` 和 `Payload`。有效负载格式取决于 `EventType`。下表列出了事件类型及其对应的负载格式。


<table>
<thead>
  <tr><th>EventType</th><th>有效负载格式</th><th></th></tr>
</thead>
<tbody>
  <tr><td>`CREATE_CHANNEL_MESSAGE`</td><td rowspan="4"> [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelMessage.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelMessage.html) </td><td></td></tr>
  <tr><td>`REDACT_CHANNEL_MESSAGE`</td><td></td></tr>
  <tr><td>`UPDATE_CHANNEL_MESSAGE`</td><td></td></tr>
  <tr><td>`DELETE_CHANNEL_MESSAGE`</td><td></td></tr>
  <tr><td></td><td></td><td></td></tr>
  <tr><td>`CREATE_CHANNEL`</td><td rowspan="4"> [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_Channel.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_Channel.html) </td><td></td></tr>
  <tr><td>`UPDATE_CHANNEL`</td><td></td></tr>
  <tr><td>`DELETE_CHANNEL`</td><td></td></tr>
  <tr><td>`UPDATE_CHANNEL_EXPIRATION_SETTINGS`</td><td></td></tr>
  <tr><td></td><td></td><td></td></tr>
  <tr><td>`CREATE_CHANNEL_MEMBERSHIP`</td><td rowspan="2"> [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelMembership.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelMembership.html) </td><td></td></tr>
  <tr><td>`DELETE_CHANNEL_MEMBERSHIP`</td><td></td></tr>
  <tr><td></td><td></td><td></td></tr>
  <tr><td>`CREATE_CHANNEL_BAN`</td><td rowspan="2"> [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelBan.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelBan.html) </td><td></td></tr>
  <tr><td>`DELETE_CHANNEL_BAN`</td><td></td></tr>
  <tr><td></td><td></td><td></td></tr>
  <tr><td>`CREATE_CHANNEL_MODERATOR`</td><td rowspan="2"> [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelModerator.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelModerator.html) </td><td></td></tr>
  <tr><td>`DELETE_CHANNEL_MODERATOR`</td><td></td></tr>
  <tr><td>`CREATE_SUB_CHANNEL`</td><td rowspan="2">[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ListSubChannels.html#API_messaging-chime_ListSubChannels_RequestSyntax](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ListSubChannels.html#API_messaging-chime_ListSubChannels_RequestSyntax)<br />[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_SubChannelSummary.html#chimesdk-Type-messaging-chime_SubChannelSummary-SubChannelId](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_SubChannelSummary.html#chimesdk-Type-messaging-chime_SubChannelSummary-SubChannelId)</td><td></td></tr>
  <tr><td>`DELETE_SUB_CHANNEL`</td><td></td></tr>
</tbody>
</table>
