IVS 실시간 스트리밍과 함께 Amazon EventBridge 사용 - Amazon IVS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

IVS 실시간 스트리밍과 함께 Amazon EventBridge 사용

Amazon EventBridge를 사용하여 Amazon Interactive Video Service(IVS) 스트림을 모니터링할 수 있습니다.

Amazon IVS는 스트림의 상태에 대한 변경 이벤트를 Amazon EventBridge로 전송합니다. 전송되는 모든 이벤트가 유효합니다. 다만 이벤트는 '최선형 전송'을 기반으로 합니다. 즉, 다음을 보장하지 않습니다.

  • 이벤트 전송 - 지정된 이벤트(예: 참가자가 게시함)가 발생하더라도 Amazon IVS가 해당 이벤트를 EventBridge로 보내지 않을 수도 있습니다. 이벤트가 전송이 될 때까지 Amazon IVS는 수 시간동안 이벤트 전송을 시도합니다.

  • 전송되는 이벤트는 지정된 기간에 도착합니다. 최대 몇 시간 이전의 이벤트도 수신할 수 있습니다.

  • 순서대로 이벤트 전송 - 특히, 이벤트가 서로 짧은 간격 안에 전송되는 경우 이벤트 순서가 잘못될 수 있습니다. 예를 들어, 참가자가 게시함 전에 참가자가 게시 취소함을 볼 수 있습니다.

이벤트가 누락되거나 늦거나 순서가 맞지 않는 경우는 드물지만 알림 이벤트의 순서나 존재 여부에 종속되는 비즈니스에 중요한 프로그램을 작성하는 경우 이러한 가능성을 염두에 두고 처리해야 합니다.

다음 이벤트 중 하나에 대한 Eventbridge 규칙을 생성할 수 있습니다.

이벤트 유형 이벤트 전송된 시간
IVS 구성 상태 변경 대상 실패 대상에 출력하려는 시도가 실패했습니다. 예를 들어 스트림 키가 없거나 다른 브로드캐스트가 진행 중이어서 채널에 브로드캐스팅이 실패했습니다.
IVS 구성 상태 변경 대상 시작 대상에 출력이 성공적으로 시작되었습니다.
IVS 구성 상태 변경 대상 종료 대상에 출력이 완료되었습니다.
IVS 구성 상태 변경 대상 재연결 대상에 출력이 중단되어 재연결을 시도하고 있습니다.
IVS 구성 상태 변경 세션 시작 구성 세션을 생성했습니다. 이 이벤트는 구성 프로세스 파이프라인이 성공적으로 초기화될 때 발생합니다. 현재 구성 파이프라인은 스테이지를 성공적으로 구독했으며 미디어를 수신하고 비디오를 작성할 수 있습니다.
IVS 구성 상태 변경 세션 종료 구성 세션이 완료되었습니다.
IVS 구성 상태 변경 세션 실패 스테이지 리소스를 사용할 수 없거나 기타 내부 오류로 인해 구성 파이프라인이 초기화에 실패했습니다.
IVS 스테이지 업데이트 참가자가 게시함 참가자가 스테이지에 게시를 시작합니다.
IVS 스테이지 업데이트 참가자가 게시 취소함 참가자가 스테이지에 게시를 중지했습니다.

Amazon IVS에 대한 Amazon EventBridge 규칙 생성

Amazon IVS에서 생성되는 이벤트에서 트리거되는 규칙을 생성할 수 있습니다. Amazon EventBridge 사용 설명서Create a rule in Amazon EventBridge 단계를 따르세요. 서비스를 선택할 때 Interactive Video Service(IVS)를 선택합니다.

예제: 구성 상태 변경

대상 실패: 이 이벤트는 대상에 출력하려는 시도가 실패했을 때 전송됩니다. 예를 들어 스트림 키가 없거나 다른 브로드캐스트가 진행 중이어서 채널에 브로드캐스팅이 실패했습니다.

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

대상 시작: 이 이벤트는 대상에 출력이 성공적으로 시작되었을 때 전송됩니다.

{ "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>", } }

대상 종료: 이 이벤트는 대상에 출력이 완료되면 전송됩니다.

{ "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>", } }

대상 재연결: 이 이벤트는 대상에 출력이 중단되어 재연결을 시도할 때 전송됩니다.

{ "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>", } }

세션 시작: 이 이벤트는 구성 세션이 생성될 때 전송됩니다. 이 이벤트는 구성 프로세스 파이프라인이 성공적으로 초기화될 때 발생합니다. 현재 구성 파이프라인은 스테이지를 성공적으로 구독했으며 미디어를 수신하고 비디오를 작성할 수 있습니다.

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

세션 종료: 이 이벤트는 구성 세션이 완료되고 모든 리소스가 삭제되었을 때 전송됩니다.

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

세션 실패: 이 이벤트는 스테이지 리소스를 사용할 수 없거나, 스테이지에 참가자가 없거나, 기타 내부 오류로 인해 구성 파이프라인 초기화에 실패했을 때 전송됩니다.

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

예: 스테이지 업데이트

스테이지 업데이트 이벤트에는 이벤트를 분류하는 이벤트 이름과 해당 이벤트에 대한 메타데이터가 포함됩니다. 메타데이터에는 이벤트를 트리거한 참가자 ID, 연결된 스테이지 및 세션 ID, 사용자 ID가 포함됩니다.

참가자가 게시함: 이 이벤트는 참가자가 스테이지에 게시를 시작할 때 전송됩니다.

{ "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-1234567890", "event_name": "Participant Published", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f" } }

참가자가 게시 취소함: 이 이벤트는 참가자가 스테이지에 게시를 중지했을 때 전송됩니다.

{ "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-1234567890", "event_name": "Participant Unpublished", "user_id": "Your User Id", "participant_id": "xYz1c2d3e4f" } }