Amazon EventBridge mit IVS-Echtzeit-Streaming verwenden
Sie können Amazon EventBridge verwenden, um Ihre Amazon Interactive Video Service (IVS) Streams zu überwachen.
Amazon IVS sendet Änderungsereignisse zum Status Ihrer Streams an Amazon EventBridge. Alle bereitgestellten Ereignisse sind gültig. Allerdings werden Ereignisse auf Best-Effort-Basis gesendet, was bedeutet, dass keine Garantie für Folgendes besteht:
-
Ereignisse werden übermittelt – Ein festgelegtes Ereignis kann auftreten (z. B. ein Stream startet), aber es ist möglich, dass Amazon IVS kein entsprechendes Ereignis an EventBridge sendet. Amazon IVS versucht, Ereignisse mehrere Stunden vor dem Aufgeben zu liefern.
-
Ereignisse, die geliefert werden, kommen in einem bestimmten Zeitrahmen an – Sie können Ereignisse erhalten, die bis zu ein paar Stunden alt sind.
-
Ereignisse werden in der richtigen Reihenfolge geliefert – Ereignisse können ungeordnet sein, insbesondere wenn sie innerhalb kurzer Zeit zueinander gesendet werden. Beispielsweise könnte „Teilnehmer nicht veröffentlicht“ vor „Teilnehmer veröffentlicht“ angezeigt werden.
Obwohl es selten ist, dass Ereignisse fehlen, spät oder nicht in richtiger Reihenfolge sind, sollten Sie diese Möglichkeiten berücksichtigen, wenn Sie geschäftskritische Programme schreiben, die von der Reihenfolge oder dem Vorhandensein von Benachrichtigungsereignissen abhängen.
Sie können EventBridge für jedes der folgenden Ereignisse erstellen.
Ereignistyp | Veranstaltung | Gesendet, wenn ... |
---|---|---|
Status der IVS-Zusammensetzung | Zielfehler | Ein Ausgabeversuch an ein Ziel ist fehlgeschlagen. Beispielsweise ist die Übertragung an einen Kanal fehlgeschlagen, weil kein Stream-Schlüssel vorhanden war oder eine andere Übertragung stattfand. |
Status der IVS-Zusammensetzung | Zielstart | Die Ausgabe an ein Ziel wurde erfolgreich gestartet. |
Status der IVS-Zusammensetzung | Zielende | Die Ausgabe an ein Ziel ist abgeschlossen. |
Status der IVS-Zusammensetzung | Wiederverbindung zum Ziel | Die Ausgabe an ein Ziel wurde unterbrochen. Es wird versucht, die Verbindung wiederherzustellen. |
Status der IVS-Zusammensetzung | Beginn der Sitzung | Es wurde eine Sitzung zur Zusammensetzung erstellt. Dieses Ereignis wird ausgelöst, wenn eine Zusammensetzungsprozess-Pipeline erfolgreich initialisiert wurde. Zu diesem Zeitpunkt hat die Zusammensetzungs-Pipeline erfolgreich eine Stufe abonniert, empfängt Medien und kann Videos erstellen. |
Status der IVS-Zusammensetzung | Ende der Sitzung | Eine Zusammensetzungs-Sitzung ist abgeschlossen. |
Status der IVS-Zusammensetzung | Sitzungsfehler | Eine Zusammensetzungs-Pipeline konnte nicht initialisiert werden, weil die Stage-Ressourcen nicht verfügbar waren oder ein anderer interner Fehler vorliegt. |
Statusänderung der IVS-Teilnehmeraufzeichnung | Aufzeichnungsstart | Ein Publisher hat eine Verbindung zur Bühne hergestellt und wird gerade in S3 aufgezeichnet. |
Statusänderung der IVS-Teilnehmeraufzeichnung | Aufzeichnungsende | Ein Publisher hat die Verbindung zur Bühne getrennt und alle verbleibenden Dateien wurden in S3 geschrieben. |
Statusänderung der IVS-Teilnehmeraufzeichnung | Fehler beim Aufzeichnen | Ein Publisher stellt eine Verbindung zur Bühne her, aber die Aufzeichnung kann aufgrund von Fehlern nicht gestartet werden (z. B. ist der S3-Bucket nicht vorhanden oder befindet sich nicht in der richtigen Region). Der Livestream dieses Publishers wird nicht aufgezeichnet. |
Statusänderung der IVS-Teilnehmeraufzeichnung | Fehler bei Aufnahmeende | Die Aufzeichnung endet mit Fehlern, die während der Aufzeichnung aufgetreten sind (z. B. wenn der Versuch, die Medienwiedergabeliste zu schreiben, wiederholt fehlschlägt). Einige Objekte können weiterhin in den konfigurierten Speicherort geschrieben werden. |
IVS-Bühne-Aktualisierung | Teilnehmer Published | Ein Teilnehmer beginnt, zu einer Bühne zu veröffentlichen. |
IVS-Bühne-Aktualisierung | Teilnehmer Unveröffentlicht | Ein Teilnehmer hat aufgehört, zu einer Bühne zu veröffentlichen. |
IVS-Bühne-Aktualisierung | Fehler bei Teilnehmerveröffentlichung | Der Versuch eines Teilnehmers, auf einer Bühne zu veröffentlichen, ist fehlgeschlagen. |
Erstellen von Amazon EventBridge Regeln für Amazon IVS
Sie können eine Regel erstellen, die bei einem von Amazon IVS ausgegebenen Ereignis ausgelöst wird. Folgen Sie den Schritten in Erstellen Sie eine Regel in Amazon EventBridge im Benutzerhandbuch für Amazon EventBridge. Wählen Sie bei der Auswahl eines Services Interactive Video Service (IVS).
Beispiele: Status der Zusammensetzung
Zielfehler: Dieses Ereignis wird gesendet, wenn ein Versuch zur Ausgabe an ein Ziel fehlgeschlagen ist. Beispielsweise ist die Übertragung an einen Kanal fehlgeschlagen, weil kein Stream-Schlüssel vorhanden war oder eine andere Übertragung stattfand.
{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Destination Failure", "stage_arn": "<stage-arn>", "id": "<Destination-id>", "reason": "eg. stream key invalid" } }
Zielstart: Dieses Ereignis wird gesendet, wenn die Ausgabe an ein Ziel erfolgreich gestartet wurde.
{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Destination Start", "stage_arn": "<stage-arn>", "id": "<destination-id>", } }
Zielende: Dieses Ereignis wird gesendet, wenn die Ausgabe an ein Ziel abgeschlossen ist.
{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Destination End", "stage_arn": "<stage-arn>", "id": "<Destination-id>", } }
Wiederverbindung zum Ziel: Dieses Ereignis wird gesendet, wenn die Ausgabe an ein Ziel unterbrochen wurde und versucht wird, die Verbindung wiederherzustellen.
{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Destination Reconnecting", "stage_arn": "<stage-arn>", "id": "<Destination-id>", } }
Sitzungsstart: Dieses Ereignis wird gesendet, wenn eine Zusammensetzungssitzung erstellt wurde. Dieses Ereignis wird ausgelöst, wenn eine Zusammensetzungsprozess-Pipeline erfolgreich initialisiert wurde. Zu diesem Zeitpunkt hat die Zusammensetzungs-Pipeline erfolgreich eine Stufe abonniert, empfängt Medien und kann Videos erstellen.
{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Session Start", "stage_arn": "<stage-arn>" } }
Sitzungsende: Dieses Ereignis wird gesendet, wenn eine Zusammensetzungssitzung abgeschlossen ist und alle Ressourcen gelöscht wurden.
{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Session End", "stage_arn": "<stage-arn>" } }
Sitzungsfehler: Dieses Ereignis wird gesendet, wenn die Initialisierung einer Zusammensetzungs-Pipeline fehlschlägt, weil die Stufenressourcen nicht verfügbar sind, keine Teilnehmer in der Stufe sind oder ein anderer interner Fehler vorliegt.
{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Composition State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:composition/123456789012" ], "detail": { "event_name": "Session Failure", "stage_arn": "<stage-arn>", "reason": "eg. no participants in the stage" } }
Beispiele: Statusänderung der Aufzeichnung einzelner Teilnehmer
Aufzeichnungsstart: Dieses Ereignis wird gesendet, wenn ein Publisher eine Verbindung zur Bühne hergestellt hat und in S3 aufgezeichnet wird.
{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Participant Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2024-03-13T22:09:58Z", "region": "us-east-1", "resources": ["arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij"], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Recording Start", "participant_id": "xYz1c2d3e4f", "recording_s3_bucket_name": "bucket-name", "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z" } }
Aufzeichnungsende: Dieses Ereignis wird gesendet, wenn ein Publisher die Verbindung zur Bühne getrennt hat und alle verbleibenden Dateien in S3 geschrieben wurden.
{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Participant Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2024-03-13T22:19:04Z", "region": "us-east-1", "resources": ["arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij"], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Recording End", "participant_id": "xYz1c2d3e4f", "recording_s3_bucket_name": "bucket-name", "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z" "recording_duration_ms": 547327 } }
Fehler beim Aufzeichnungsstart: Dieses Ereignis wird gesendet, wenn ein Publisher eine Verbindung zur Bühne herstellt, die Aufzeichnung jedoch aufgrund von Fehlern nicht gestartet wird (z. B. ist der S3-Bucket nicht vorhanden oder befindet sich nicht in der richtigen Region). Der Livestream des Publishers wird nicht aufgezeichnet.
{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Participant Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2024-03-13T22:09:58Z", "region": "us-east-1", "resources": ["arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij"], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Recording Start Failure", "participant_id": "xYz1c2d3e4f", "recording_s3_bucket_name": "bucket-name", "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z" } }
Fehler beim Aufzeichnungsende: Dieses Ereignis wird gesendet, wenn die Aufzeichnung aufgrund von Fehlern endet, die während der Aufzeichnung aufgetreten sind (z. B. wenn der Versuch, eine Master-Wiedergabeliste zu schreiben, fehlschlägt). Einige Objekte können weiterhin in den konfigurierten Speicherort geschrieben werden.
{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Participant Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2024-03-13T22:19:04Z", "region": "us-east-1", "resources": ["arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij"], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Recording End Failure", "participant_id": "xYz1c2d3e4f", "recording_s3_bucket_name": "bucket-name", "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z" "recording_duration_ms": 547327 } }
Beispiele: Bühne-Aktualisierung
Zu den Bühne-Aktualisierung-Ereignissen gehören ein Ereignisname (der das Ereignis klassifiziert) und Metadaten zum Ereignis. Zu den Metadaten gehören die Teilnehmer-ID, die das Ereignis ausgelöst hat, die zugehörigen Bühnen- und Sitzungs-IDs sowie die Benutzer-ID.
Teilnehmer Veröffentlicht: Dieses Ereignis wird gesendet, wenn ein Teilnehmer beginnt, zu einer Bühne zu veröffentlichen.
{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Stage Update", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij" ], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Participant Published", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f" } }
Teilnehmer Unveröffentlicht: Dieses Ereignis wird gesendet, wenn ein Teilnehmer damit aufgehört hat, zu einer Bühne zu veröffentlichen.
{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Stage Update", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij" ], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Participant Unpublished", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f" } }
Fehler bei Teilnehmerveröffentlichung: Dieses Ereignis wird gesendet, wenn der Versuch eines Teilnehmers, auf einer Bühne zu veröffentlichen, fehlgeschlagen ist.
{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Stage Update", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij" ], "detail": { "session_id": "st-ZyXwvu1T2s", "event_name": "Participant Publish Error", "event_time": "2024-08-13T14:38:17.089061676Z", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f", "error_code": "BITRATE_EXCEEDED" } }