Streaming de dados de mensagens - SDK do Amazon Chime

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Streaming de dados de mensagens

Pode-se configurar um AppInstance para receber dados, como mensagens e eventos do canal, na forma de um stream. Você pode então reagir a esses dados em tempo real. Atualmente, as mensagens do Amazon Chime SDK só aceitam streams do Kinesis como destinos de stream. Você deve ter esses pré-requisitos para usar Fluxos do Kinesis com esse atributo:

  • Os streams do Kinesis devem estar na mesma AWS conta do. AppInstance

  • O fluxo deve estar na mesma região da AppInstance.

  • Os nomes dos streams têm um prefixo que começam com chime-messaging-.

  • Você deve configurar pelo menos dois fragmentos. Cada fragmento pode receber até 1 MB de dados por segundo, então dimensione seu stream adequadamente.

  • Você deve habilitar a criptografia do lado do servidor (SSE).

Para configurar um stream do Kinesis
  1. Crie um ou mais streams do Kinesis usando os pré-requisitos da seção anterior e, em seguida, obtenha o ARN. Certifique-se de que o chamador tenha permissões do Kinesis, além das permissões do Amazon Chime.

    Os exemplos a seguir mostram como usar a AWS CLI para criar um stream do Kinesis com dois fragmentos e como habilitar o 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. Configure o streaming chamando a PutMessagingStreamingConfigurationsAPI.

    Você pode configurar um ou os dois tipos de dados e escolher o mesmo stream ou streams separados para eles.

    Os exemplos a seguir mostram como usar a AWS CLI para configurar e appinstance transmitir os tipos de Channel dados ChannelMessage e.

    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

    Os tipos de dados têm os seguintes escopos:

    DataType Tipos de eventos gerados

    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. Comece a ler os dados do seu stream do Kinesis configurado.

    nota

    Todos os eventos enviados antes de você configurar o streaming não são enviados para seu stream do Kinesis.

Formato de dados

O Kinesis gera registros no formato JSON com os seguintes campos: EventType e Payload. O formato da carga útil depende do EventType. A tabela a seguir lista os tipos de evento e seus formatos de carga correspondentes.

EventType Formato da carga

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