View a markdown version of this page

Configurer les notifications dans Kinesis Video Streams - Amazon Kinesis Video Streams

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer les notifications dans Kinesis Video Streams

Lorsqu'un fragment multimédia est disponible pour consommation, Kinesis Video Streams en informe les clients par le biais de notifications Amazon Simple Notification Service (Amazon SNS).

Note

Amazon Kinesis Video Streams utilise Amazon SNS Standard Topics pour la communication. Les sujets FIFO ne sont pas pris en charge actuellement.

Les rubriques suivantes expliquent comment commencer à utiliser les notifications.

Gérer les configurations de notifications

Pour gérer les configurations de notifications, utilisez UpdateNotificationConfiguration etDescribeNotificationConfiguration. Voir ci-dessous pour plus d’informations.

UpdateNotificationConfiguration

Utilisez cette opération d'API pour mettre à jour les informations de notification d'un flux. Pour plus d'informations sur UpdateNotificationConfiguration cette fonctionnalité, consultez UpdateNotificationConfiguration le guide du développeur Amazon Kinesis Video Streams.

Note

Le lancement de la notification prend au moins une minute après la mise à jour de la configuration des notifications. Attendez au moins une minute avant de lancer l'appel PutMedia après l'appel de mise à jour.

DescribeNotificationConfiguration

Utilisez cette API pour décrire une configuration de notification associée à un flux. Pour plus d'informations sur DescribeNotificationConfiguration cette fonctionnalité, consultez DescribeNotificationConfiguration le guide du développeur Amazon Kinesis Video Streams.

À propos des tags MKV du producteur

Vous pouvez utiliser le SDK Kinesis Video Streams Producer pour baliser des fragments spécifiques qui vous intéressent en exposant une opération d'API dans le SDK. Consultez un exemple de la façon dont cela fonctionne dans cette section de code. Lors de l'appel de cette API, le SDK ajoutera un ensemble de balises MKV prédéfinies ainsi que les données des fragments. Kinesis Video Streams reconnaîtra ces balises MKV spéciales et lancera des notifications pour les fragments balisés.

Toutes les métadonnées de fragment fournies avec les balises MKV de notification seront publiées dans le cadre de la charge utile des rubriques Amazon SNS.

Syntaxe pour les balises MKV du producteur

|+ 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 balises MKV

Le tableau suivant répertorie les limites associées aux balises de métadonnées. Si la limite des balises de métadonnées est ajustable, vous pouvez demander une augmentation par l'intermédiaire de votre gestionnaire de compte.

Limite Valeur maximale Ajustable

Longueur de clé de métadonnées optionnelle

128

Non

Longueur de valeur de métadonnées facultative

256

Non

Nombre maximum de métadonnées facultatives

10

Oui

Messages Amazon SNS

Cette rubrique contient plus d'informations sur les messages Amazon SNS et les charges utiles des sujets.

Charge utile de la rubrique Amazon SNS

Toute notification initiée via le flux de travail précédent fournira la charge utile de la rubrique Amazon SNS, comme illustré dans l'exemple suivant. Cet exemple est un message Amazon SNS qui apparaît après avoir consommé les données de notification d'une file d'attente 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 } }

Afficher vos messages Amazon SNS

Vous ne pouvez pas lire les messages directement à partir d'une rubrique Amazon SNS car aucune API ne permet de le faire. Pour afficher les messages, inscrivez une file d'attente SQS à la rubrique SNS ou choisissez toute autre destination prise en charge par Amazon SNS. Cependant, l'option la plus efficace pour visualiser les messages consiste à utiliser Amazon SQS.

Pour consulter vos messages Amazon SNS à l'aide d'Amazon SQS
  1. Créez une file d'attente https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-create-queue.html Amazon SQS.

  2. Dans le Console de gestion AWS, ouvrez la rubrique Amazon SNS définie comme destination sousNotificationConfiguration.

  3. Choisissez Créer un abonnement, puis choisissez la file d'attente Amazon SQS créée lors de la première étape.

  4. Exécutez une PutMedia session avec la configuration de notification activée et avec les balises MKV de notification ajoutées aux fragments.

  5. Choisissez la file d'attente Amazon SQS dans la console Amazon SQS, puis sélectionnez Envoyer et recevoir des messages pour la file d'attente Amazon SQS.

  6. Sondage pour les messages. Cette commande doit afficher toutes les notifications générées par la PutMedia session. Pour plus d'informations sur les sondages, consultez la section Sondage court et long Amazon SQS.

Cross-account Publication de notifications Amazon SNS

Pour publier des notifications Amazon SNS relatives à un sujet dans un autre AWS compte, vous devez configurer des politiques basées sur l'identité et sur les ressources. Cette configuration permet à Kinesis Video Streams de publier des notifications depuis un compte vers une rubrique Amazon SNS d'un autre compte.

Identity-based configuration des politiques

Le rôle ou l'utilisateur IAM qui appelle l'PutMediaAPI doit disposer d'sns:Publishautorisations pour la rubrique Amazon SNS multicompte. Ajoutez la déclaration de politique suivante à la stratégie basée sur l'identité :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kinesisvideo:PutMedia", "Resource": "arn:aws:kinesisvideo:us-east-1:123456789012:stream/*" }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-1:123456789012:*" ] } ] }

Resource-based configuration des politiques

La rubrique Amazon SNS du compte de destination doit comporter une politique d'accès basée sur les ressources qui permet au compte source de publier des messages. Configurez la politique d'accès aux rubriques Amazon SNS comme suit :

JSON
{ "Version":"2012-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__default_statement_ID", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-east-1:123456789012:topic-name" } ] }

Remplacez-le <kvs_streams_account_id> par l'ID de AWS compte sur lequel se trouvent vos flux Kinesis Video Streams et <sns_topic_arn> par l'ARN de votre rubrique Amazon SNS.

Exigences et considérations

  • La politique basée sur l'identité (dans le compte source) et la stratégie basée sur les ressources (dans le compte de destination) doivent être configurées pour que la publication entre comptes fonctionne.

  • Le rôle IAM utilisé pour les PutMedia opérations doit inclure des sns:Publish autorisations, même en cas d'utilisation de certificats IoT avec des alias de rôle.