Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Benachrichtigungen in Kinesis Video Streams einrichten
Wenn ein Medienfragment zur Nutzung verfügbar ist, benachrichtigt Kinesis Video Streams die Kunden mithilfe von Amazon Simple Notification Service (Amazon SNS) -Benachrichtigungen.
Anmerkung
Amazon Kinesis Video Streams verwendet Amazon SNS Standard Topics für die Kommunikation. FIFO-Themen werden derzeit nicht unterstützt.
In den folgenden Themen wird erklärt, wie Sie mit Benachrichtigungen beginnen können.
Themen
Benachrichtigungskonfigurationen verwalten
Verwenden Sie UpdateNotificationConfiguration und, um Benachrichtigungskonfigurationen zu verwaltenDescribeNotificationConfiguration. Weitere Informationen hierzu finden Sie unten.
UpdateNotificationConfiguration
Verwenden Sie diesen API-Vorgang, um die Benachrichtigungsinformationen für einen Stream zu aktualisieren. Weitere Informationen zu dieser UpdateNotificationConfiguration Funktion finden Sie UpdateNotificationConfiguration im Amazon Kinesis Video Streams Developer Guide.
Anmerkung
Nach der Aktualisierung der Benachrichtigungskonfiguration dauert es mindestens eine Minute, bis die Benachrichtigung initiiert wird. Warten Sie mindestens eine Minute, bevor Sie PutMedia nach dem Aktualisierungsaufruf aufrufen.
DescribeNotificationConfiguration
Verwenden Sie diese API, um eine Benachrichtigungskonfiguration zu beschreiben, die an einen Stream angehängt ist. Weitere Informationen zu dieser DescribeNotificationConfiguration Funktion finden Sie DescribeNotificationConfigurationim Amazon Kinesis Video Streams Developer Guide.
Über MKV-Tags des Herstellers
Sie können das Kinesis Video Streams Producer SDK verwenden, um bestimmte Fragmente von Interesse zu taggen, indem Sie eine API-Operation im SDK verfügbar machen. In diesem Codeabschnitt finden Sie ein Beispiel dafür, wie das
Alle Fragment-Metadaten, die zusammen mit den Notification MKV-Tags bereitgestellt werden, werden als Teil der Amazon SNS SNS-Themen-Payload veröffentlicht.
Syntax für MKV-Tags von Produzenten
|+ 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
Beschränkungen für MKV-Tags
In der folgenden Tabelle sind die Einschränkungen aufgeführt, die mit den Metadaten-Tags verbunden sind. Wenn das Limit für Metadaten-Tags anpassbar ist, können Sie über Ihren Account Manager eine Erhöhung beantragen.
| Limit | Maximaler Wert | Einstellbar |
|---|---|---|
|
Optionale Länge des Metadatenschlüssels |
128 |
Nein |
|
Optionale Länge des Metadatenwerts |
256 |
Nein |
|
Maximale Anzahl optionaler Metadaten |
10 |
Ja |
Amazon SNS SNS-Nachrichten
Dieses Thema enthält weitere Informationen zu Amazon SNS SNS-Nachrichten und Themen-Payloads.
Nutzlast für Amazon SNS-Themen
Jede Benachrichtigung, die durch den vorherigen Workflow initiiert wurde, liefert die Amazon SNS SNS-Themennutzlast, wie im folgenden Beispiel gezeigt. Dieses Beispiel ist eine Amazon SNS SNS-Nachricht, die nach dem Verzehr von Benachrichtigungsdaten aus einer Amazon Simple Queue Service (Amazon SQS) -Warteschlange auftritt.
{ "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} }
Ihre Amazon SNS SNS-Nachrichten anzeigen
Sie können Nachrichten nicht direkt aus einem Amazon SNS SNS-Thema lesen, da es dafür keine API gibt. Um die Nachrichten anzusehen, abonnieren Sie eine SQS-Warteschlange für das SNS-Thema oder wählen Sie ein anderes von Amazon SNS unterstütztes Ziel. Die effizienteste Option zum Anzeigen von Nachrichten ist jedoch die Verwendung von Amazon SQS.
So zeigen Sie Ihre Amazon SNS SNS-Nachrichten mit Amazon SQS an
-
Erstellen Sie eine Amazon SQS SQS-Warteschlange.
-
Öffnen Sie von der AWS Management Console aus das Amazon SNS SNS-Thema, das als Ziel festgelegt wurde, unter
NotificationConfiguration. -
Wählen Sie Create Subscription und dann die Amazon SQS SQS-Warteschlange aus, die im ersten Schritt erstellt wurde.
-
Führen Sie eine
PutMediaSitzung mit aktivierter Benachrichtigungskonfiguration aus und fügen Sie den Fragmenten die MKV-Tags für Benachrichtigungen hinzu. -
Wählen Sie in der Amazon SQS SQS-Konsole die Amazon SQS SQS-Warteschlange aus und wählen Sie dann Nachrichten senden und empfangen für die Amazon SQS SQS-Warteschlange aus.
-
Nach Nachrichten abfragen. Dieser Befehl sollte alle von der
PutMediaSitzung generierten Benachrichtigungen anzeigen. Informationen zu Umfragen finden Sie unter Amazon SQS Short and Long Polling.
Kontoübergreifende Veröffentlichung Amazon SNS SNS-Benachrichtigungen
Um Amazon SNS SNS-Benachrichtigungen zu einem Thema in einem anderen AWS Konto zu veröffentlichen, müssen Sie sowohl identitäts- als auch ressourcenbasierte Richtlinien konfigurieren. Dieses Setup ermöglicht es Kinesis Video Streams, Benachrichtigungen von einem Konto zu einem Amazon SNS SNS-Thema in einem anderen Konto zu veröffentlichen.
Identitätsbasierte Richtlinienkonfiguration
Die IAM-Rolle oder der Benutzer, der die PutMedia API aufruft, muss über sns:Publish Berechtigungen für das kontoübergreifende Amazon SNS SNS-Thema verfügen. Fügen Sie der identitätsbasierten Richtlinie die folgende Richtlinienerklärung hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kinesisvideo:PutMedia", "Resource": "<kvs-streams-arn>" }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "<sns-topic-arn>" ] } ] }
Ressourcenbasierte Richtlinienkonfiguration
Das Amazon SNS SNS-Thema im Zielkonto muss über eine ressourcenbasierte Zugriffsrichtlinie verfügen, die es dem Quellkonto ermöglicht, Nachrichten zu veröffentlichen. Konfigurieren Sie die Amazon SNS SNS-Themenzugriffsrichtlinie wie folgt:
{ "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__default_statement_ID", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<kvs_streams_account_id>:root" }, "Action": "SNS:Publish", "Resource": "<sns_topic_arn>" } ] }
<kvs_streams_account_id>Ersetzen Sie es durch die AWS Konto-ID, unter der sich Ihre Kinesis Video Streams-Streams befinden, und durch den <sns_topic_arn> ARN Ihres Amazon SNS SNS-Themas.
Anforderungen und Überlegungen
-
Sowohl die identitätsbasierte Richtlinie (im Quellkonto) als auch die ressourcenbasierte Richtlinie (im Zielkonto) müssen konfiguriert sein, damit kontoübergreifendes Publizieren funktioniert.
-
Die für den
PutMediaBetrieb verwendete IAM-Rolle musssns:PublishBerechtigungen enthalten, auch wenn IoT-Zertifikate mit Rollenaliasnamen verwendet werden.