View a markdown version of this page

Configurare le notifiche in Kinesis Video Streams - Amazon Kinesis Video Streams

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurare le notifiche in Kinesis Video Streams

Quando un frammento multimediale è disponibile per il consumo, Kinesis Video Streams avvisa i clienti tramite Amazon Simple Notification Service notifiche (Amazon SNS).

Nota

Amazon Kinesis Video Streams utilizza Amazon SNS Standard Topics per la comunicazione. Gli argomenti FIFO non sono attualmente supportati.

I seguenti argomenti spiegano come iniziare con le notifiche.

Gestisci le configurazioni delle notifiche

Per gestire le configurazioni delle notifiche, usa UpdateNotificationConfiguration e. DescribeNotificationConfiguration Per ulteriori informazioni, vedere di seguito.

UpdateNotificationConfiguration

Usa questa operazione API per aggiornare le informazioni di notifica per uno stream. Per ulteriori informazioni sulla UpdateNotificationConfiguration funzionalità, consulta UpdateNotificationConfiguration la Amazon Kinesis Video Streams Developer Guide.

Nota

È necessario almeno un minuto per avviare la notifica dopo l'aggiornamento della configurazione della notifica. Attendi almeno un minuto prima di richiamare PutMedia dopo la chiamata di aggiornamento.

DescribeNotificationConfiguration

Usa questa API per descrivere una configurazione di notifica associata a uno stream. Per ulteriori informazioni sulla DescribeNotificationConfiguration funzionalità, consulta DescribeNotificationConfiguration la Amazon Kinesis Video Streams Developer Guide.

Informazioni sui tag MKV del produttore

È possibile utilizzare l'SDK per produttori di Kinesis Video Streams per etichettare specifici frammenti di interesse esponendo un'operazione API nell'SDK. Guarda un esempio di come funziona in questa sezione di codice. Dopo aver chiamato questa API, l'SDK aggiungerà una serie di tag MKV predefiniti insieme ai dati del frammento. Kinesis Video Streams riconoscerà questi tag MKV speciali e avvierà notifiche per i frammenti etichettati.

Tutti i metadati dei frammenti forniti insieme ai tag MKV di notifica verranno pubblicati come parte del payload degli argomenti di Amazon SNS.

Sintassi per i tag MKV del produttore

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

Limiti dei tag MKV

La tabella seguente elenca le limitazioni associate ai tag dei metadati. Se il limite dei tag di metadati è regolabile, puoi richiedere un aumento tramite il tuo account manager.

Limite Valore massimo Regolabile

Lunghezza opzionale della chiave di metadati

128

No

Lunghezza opzionale del valore dei metadati

256

No

Numero massimo di metadati opzionali

10

Messaggi Amazon SNS

Questo argomento contiene ulteriori informazioni sui messaggi Amazon SNS e sui payload tematici.

Payload tematico di Amazon SNS

Qualsiasi notifica avviata tramite il flusso di lavoro precedente fornirà il payload dell'argomento Amazon SNS, come mostrato nell'esempio seguente. Questo esempio è un messaggio Amazon SNS che si verifica dopo aver consumato i dati di notifica da una coda 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 } }

Visualizza i tuoi messaggi Amazon SNS

Non puoi leggere i messaggi direttamente da un argomento di Amazon SNS perché non esiste un'API per farlo. Per visualizzare i messaggi, iscrivi una coda SQS all'argomento SNS o scegli qualsiasi altra destinazione supportata da Amazon SNS. Tuttavia, l'opzione più efficiente per visualizzare i messaggi è utilizzare Amazon SQS.

Per visualizzare i tuoi messaggi Amazon SNS utilizzando Amazon SQS
  1. Crea una coda Amazon SQS.

  2. Da Console di gestione AWS, apri l'argomento Amazon SNS impostato come destinazione in. NotificationConfiguration

  3. Scegli Crea abbonamento, quindi scegli la coda Amazon SQS creata nel primo passaggio.

  4. Esegui una PutMedia sessione con la configurazione delle notifiche abilitata e con i tag MKV di notifica aggiunti ai frammenti.

  5. Scegli la coda Amazon SQS nella console Amazon SQS, quindi seleziona Invia e ricevi messaggi per la coda Amazon SQS.

  6. Effettua un sondaggio per i messaggi. Questo comando dovrebbe mostrare tutte le notifiche generate dalla PutMedia sessione. Per informazioni sul polling, consulta Amazon SQS short and long polling.

Cross-account Pubblicazione delle notifiche Amazon SNS

Per pubblicare notifiche Amazon SNS su un argomento in un AWS account diverso, devi configurare policy basate sull'identità e sulle risorse. Questa configurazione consente a Kinesis Video Streams di pubblicare notifiche da un account a un argomento di Amazon SNS in un altro account.

Identity-based configurazione delle politiche

Il ruolo o l'utente IAM che chiama l'PutMediaAPI deve disporre sns:Publish delle autorizzazioni per l'argomento Amazon SNS con più account. Aggiungi la seguente dichiarazione politica alla policy basata sull'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 configurazione della politica

L'argomento Amazon SNS nell'account di destinazione deve avere una politica di accesso basata sulle risorse che consenta all'account di origine di pubblicare messaggi. Configura la politica di accesso agli argomenti di Amazon SNS come segue:

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" } ] }

Sostituiscila <kvs_streams_account_id> con l'ID dell' AWS account in cui si trovano i tuoi stream Kinesis Video Streams e <sns_topic_arn> con l'ARN del tuo argomento Amazon SNS.

Requisiti e considerazioni

  • Affinché la pubblicazione su più account funzioni, è necessario configurare sia la policy basata sull'identità (nell'account di origine) che la policy basata sulle risorse (nell'account di destinazione).

  • Il ruolo IAM utilizzato per PutMedia le operazioni deve includere le sns:Publish autorizzazioni, anche quando si utilizzano certificati IoT con alias di ruolo.