View a markdown version of this page

Configurar las notificaciones en Kinesis Video Streams - Amazon Kinesis Video Streams

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar las notificaciones en Kinesis Video Streams

Cuando un fragmento multimedia está disponible para su consumo, Kinesis Video Streams lo notifica a los clientes mediante notificaciones Amazon Simple Notification Service (Amazon SNS).

nota

Amazon Kinesis Video Streams utiliza los temas estándar de Amazon SNS para la comunicación. Los temas de FIFO no son compatibles actualmente.

En los siguientes temas se explica cómo empezar a utilizar las notificaciones.

Gestione las configuraciones de notificaciones

Para administrar las configuraciones de notificaciones, utilice UpdateNotificationConfiguration yDescribeNotificationConfiguration. Para obtener más información, consulte las secciones siguientes.

UpdateNotificationConfiguration

Utilice esta operación de API para actualizar la información de notificación de una transmisión. Para obtener más información sobre la UpdateNotificationConfiguration función, consulte UpdateNotificationConfiguration la guía para desarrolladores de Amazon Kinesis Video Streams.

nota

Se tarda al menos un minuto en iniciar la notificación después de actualizar la configuración de la notificación. Espere al menos un minuto antes de invocar PutMedia después de la llamada de actualización.

DescribeNotificationConfiguration

Usa esta API para describir una configuración de notificaciones adjunta a una transmisión. Para obtener más información sobre la DescribeNotificationConfiguration función, consulte DescribeNotificationConfiguration la guía para desarrolladores de Amazon Kinesis Video Streams.

Acerca de las etiquetas MKV del productor

Puede usar el SDK de productor de Kinesis Video Streams para etiquetar fragmentos de interés específicos exponiendo una operación de la API en el SDK. Vea un ejemplo de cómo funciona esto en esta sección del código. Al llamar a esta API, el SDK añadirá un conjunto de etiquetas MKV predefinidas junto con los datos de los fragmentos. Kinesis Video Streams reconocerá estas etiquetas MKV especiales e iniciará las notificaciones de los fragmentos etiquetados.

Todos los metadatos de los fragmentos que se proporcionen junto con las etiquetas MKV de notificación se publicarán como parte de la carga útil de temas de Amazon SNS.

Sintaxis de las etiquetas MKV del productor

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

Límites de etiquetas MKV

En la siguiente tabla se enumeran las limitaciones asociadas a las etiquetas de metadatos. Si el límite de etiquetas de metadatos es ajustable, puedes solicitar un aumento a través de tu administrador de cuentas.

Límite Valor máximo Ajustable

Longitud de la clave de metadatos opcional

128

No

Longitud opcional del valor de los metadatos

256

No

Cantidad máxima de metadatos opcionales

10

Mensajes de Amazon SNS

Este tema contiene más información sobre los mensajes de Amazon SNS y la carga útil de temas.

Carga útil de temas de Amazon SNS

Cualquier notificación que se inicie mediante el flujo de trabajo anterior entregará la carga útil de temas de Amazon SNS, tal y como se muestra en el siguiente ejemplo. Este ejemplo es un mensaje de Amazon SNS que aparece después de consumir datos de notificaciones de una cola 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 } }

Vea sus mensajes de Amazon SNS

No puede leer los mensajes directamente de un tema de Amazon SNS porque no hay ninguna API que lo haga. Para ver los mensajes, suscríbase a una cola de SQS para ver el tema de SNS o elija cualquier otro destino compatible con Amazon SNS. Sin embargo, la opción más eficaz para ver los mensajes es utilizar Amazon SQS.

Para ver sus mensajes de Amazon SNS mediante Amazon SQS
  1. Cree una cola de Amazon SQS.

  2. Desde Consola de administración de AWS, abra el tema de Amazon SNS establecido como destino en. NotificationConfiguration

  3. Seleccione Crear suscripción y, a continuación, elija la cola de Amazon SQS creada en el primer paso.

  4. Ejecute una PutMedia sesión con la configuración de notificaciones habilitada y con las etiquetas MKV de notificación añadidas a los fragmentos.

  5. Elija la cola de Amazon SQS en la consola de Amazon SQS y, a continuación, seleccione Enviar y recibir mensajes para la cola de Amazon SQS.

  6. Encuesta de mensajes. Este comando debería mostrar todas las notificaciones generadas por la PutMedia sesión. Para obtener información sobre las encuestas, consulte las encuestas cortas y largas de Amazon SQS.

Cross-account Publicación de notificaciones de Amazon SNS

Para publicar las notificaciones de Amazon SNS sobre un tema de otra AWS cuenta, debe configurar políticas basadas en la identidad y en los recursos. Esta configuración permite a Kinesis Video Streams publicar notificaciones de una cuenta en un tema de Amazon SNS de otra cuenta.

Identity-based configuración de políticas

El rol o usuario de IAM que llama a la PutMedia API debe tener sns:Publish permisos para el tema multicuenta de Amazon SNS. Agregue la siguiente declaración de política a la política basada en la identidad:

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 configuración de políticas

El tema de Amazon SNS de la cuenta de destino debe tener una política de acceso basada en los recursos que permita a la cuenta de origen publicar mensajes. Configure la política de acceso a temas de Amazon SNS de la siguiente manera:

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

<kvs_streams_account_id>Sustitúyala por la ID de la AWS cuenta en la que se encuentran tus transmisiones de Kinesis Video Streams y <sns_topic_arn> por el ARN de tu tema de Amazon SNS.

Requisitos y consideraciones

  • Para que funcione la publicación multicuenta, se deben configurar tanto la política basada en la identidad (en la cuenta de origen) como la política basada en los recursos (en la cuenta de destino).

  • La función de IAM utilizada para PutMedia las operaciones debe incluir sns:Publish permisos, incluso cuando se utilicen certificados de IoT con alias de rol.