Configurar notificações no Kinesis Video Streams - Amazon Kinesis Video Streams

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á.

Configurar notificações no Kinesis Video Streams

Quando um fragmento de mídia está disponível para consumo, o Kinesis Video Streams notifica os clientes usando notificações ( Amazon Simple Notification Service Amazon SNS).

nota

O Amazon Kinesis Video Streams usa os tópicos padrão do Amazon SNS para a comunicação. No momento, os tópicos do FIFO não são suportados.

Os tópicos a seguir explicam como começar a usar as notificações.

Gerenciar configurações de notificação

Para gerenciar as configurações de notificação, use UpdateNotificationConfiguration e. DescribeNotificationConfiguration Veja a seguir mais informações.

UpdateNotificationConfiguration

Use essa operação de API para atualizar as informações de notificação de um stream. Para obter mais informações sobre o UpdateNotificationConfiguration recurso, consulte o UpdateNotificationConfiguration Guia do desenvolvedor do Amazon Kinesis Video Streams.

nota

Leva pelo menos um minuto para iniciar a notificação depois de atualizar a configuração da notificação. Aguarde pelo menos um minuto antes de invocar PutMedia após a chamada de atualização.

DescribeNotificationConfiguration

Use essa API para descrever uma configuração de notificação anexada a um stream. Para obter mais informações sobre o DescribeNotificationConfiguration recurso, consulte o DescribeNotificationConfigurationGuia do desenvolvedor do Amazon Kinesis Video Streams.

Sobre as tags MKV do produtor

Você pode usar o SDK produtor do Kinesis Video Streams para marcar fragmentos específicos de interesse expondo uma operação de API no SDK. Veja um exemplo de como isso funciona nesta seção de código. Ao chamar essa API, o SDK adicionará um conjunto de tags MKV predefinidas junto com os dados do fragmento. O Kinesis Video Streams reconhecerá essas tags MKV especiais e iniciará notificações para os fragmentos marcados.

Todos os metadados de fragmento fornecidos junto com as tags MKV de notificação serão publicados como parte da carga útil do tópico do Amazon SNS.

Sintaxe para tags MKV do produtor

|+ Tags | + Tag | // MANDATORY: Predefined MKV tag to trigger the notification for the fragment | + Simple | + Name: AWS_KINESISVIDEO_NOTIFICATION | + String | // OPTIONAL: Key value pairs that will be sent as part of the Notification payload | + Simple | + Name: CUSTOM_KEY_1 // Max 128 bytes | + String:CUSTOM_VALUE_1 // Max 256 bytes | + Simple | + Name: CUSTOM_KEY_2 // Max 128 bytes | + String: CUSTOM_VALUE_2 // Max 256 bytes

Limites de tags MKV

A tabela a seguir lista as limitações associadas às tags de metadados. Se o limite da tag de metadados for ajustável, você poderá solicitar um aumento por meio do seu gerente de conta.

Limite Valor máximo Ajustável

Tamanho opcional da chave de metadados

128

Não

Tamanho opcional do valor dos metadados

256

Não

Número máximo de metadados opcionais

10

Sim

Mensagens do Amazon SNS

Este tópico contém mais informações sobre mensagens do Amazon SNS e cargas úteis de tópicos.

Carga útil de tópicos do Amazon SNS

Qualquer notificação iniciada por meio do fluxo de trabalho anterior entregará a carga útil do tópico do Amazon SNS, conforme mostrado no exemplo a seguir. Este exemplo é uma mensagem do Amazon SNS que ocorre após o consumo de dados de notificação de uma fila Amazon Simple Queue Service (Amazon SQS).

{ "Type" : "Notification", "MessageId" : Message ID, "TopicArn" : SNS ARN, "Subject" : "Kinesis Video Streams Notification", "Message" : "{\"StreamArn\":\Stream Arn,\"FragmentNumber\":\Fragment Number,\"FragmentStartProducerTimestamp\":FragmentStartProducerTimestamp, \"FragmentStartServerTimestamp\":FragmentStartServerTimestamp,\"NotificationType\":\"PERSISTED\",\"NotificationPayload\":{\ CUSTOM_KEY_1:\CUSTOM_VALUE_1, \CUSTOM_KEY_2:\CUSTOM_VALUE_2}}", "Timestamp" : "2022-04-25T18:36:29.194Z", "SignatureVersion" : Signature Version, "Signature" : Signature, "SigningCertURL" : Signing Cert URL, "UnsubscribeURL" : Unsubscribe URL }
Subject: "Kinesis Video Streams Notification" Message: { "StreamArn":Stream Arn, "FragmentNumber":Fragment Number, "FragmentStartProducerTimestamp":Fragment Start Producer Timestamp, "FragmentStartServerTimestamp":Fragment Start Server Timestamp, "NotificationType":"PERSISTED", "NotificationPayload":{ CUSTOM_KEY_1:CUSTOM_VALUE_1, CUSTOM_KEY_2:CUSTOM_VALUE_2 } }

Visualize suas mensagens do Amazon SNS

Você não pode ler mensagens diretamente de um tópico do Amazon SNS porque não há API para fazer isso. Para visualizar as mensagens, inscreva uma fila SQS no tópico SNS ou escolha qualquer outro destino compatível com o Amazon SNS. No entanto, a opção mais eficiente para visualizar mensagens é usar o Amazon SQS.

Para visualizar suas mensagens do Amazon SNS usando o Amazon SQS
  1. Crie uma fila do Amazon SQS.

  2. Console de gerenciamento da AWS Em, abra o tópico do Amazon SNS definido como destino em. NotificationConfiguration

  3. Escolha Create Subscription e, em seguida, escolha a fila do Amazon SQS criada na primeira etapa.

  4. Execute uma PutMedia sessão com a configuração de notificação ativada e com as tags MKV de notificação adicionadas aos fragmentos.

  5. Escolha a fila do Amazon SQS no console do Amazon SQS e, em seguida, selecione Enviar e receber mensagens para a fila do Amazon SQS.

  6. Pesquisa de mensagens. Esse comando deve mostrar todas as notificações geradas pela PutMedia sessão. Para obter informações sobre pesquisas, consulte sondagem curta e longa do Amazon SQS.

Publicação de notificações entre contas do Amazon SNS

Para publicar notificações do Amazon SNS para um tópico em uma AWS conta diferente, você precisa configurar políticas baseadas em identidade e baseadas em recursos. Essa configuração permite que o Kinesis Video Streams publique notificações de uma conta para um tópico do Amazon SNS em outra conta.

Configuração de política baseada em identidade

A função do IAM ou o usuário que chama a PutMedia API deve ter sns:Publish permissões para o tópico entre contas do Amazon SNS. Adicione a seguinte declaração de política à política baseada em identidade:

Configuração de políticas com base em recursos

O tópico do Amazon SNS na conta de destino deve ter uma política de acesso baseada em recursos que permita que a conta de origem publique mensagens. Configure a política de acesso a tópicos do Amazon SNS da seguinte forma:

<kvs_streams_account_id>Substitua pelo ID da AWS conta em que seus streams do Kinesis Video Streams estão localizados <sns_topic_arn> e pelo ARN do seu tópico do Amazon SNS.

Requisitos e considerações

  • Tanto a política baseada em identidade (na conta de origem) quanto a política baseada em recursos (na conta de destino) devem ser configuradas para que a publicação entre contas funcione.

  • A função do IAM usada para PutMedia operações deve incluir sns:Publish permissões, mesmo ao usar certificados de IoT com aliases de função.