Amazon Chime SDK 회의 수명 주기 이벤트 이해 - Amazon Chime SDK

Amazon Chime SDK 회의 수명 주기 이벤트 이해

Amazon Chime SDK는 회의 수명 주기 이벤트를 전송하며, 이를 사용하여 알림을 트리거하고 다운스트림 워크플로를 시작할 수 있습니다. 다음은 회의 이벤트를 사용하는 몇 가지 예입니다.

  • 참석자가 Amazon Chime SDK 회의에 합류하거나 떠날 때 메타데이터 업데이트

  • Amazon Chime SDK 회의에 대한 푸시 알림 또는 명단 구현

  • Amazon Chime SDK 회의에서의 비디오 및 콘텐츠 공유 사용량 측정

Amazon EventBridge, Amazon Simple Notification Service(SNS) 및 Amazon Simple Queue Service(SQS)로 이벤트를 전송할 수 있습니다. 자세한 내용은 Amazon EventBridge 사용 설명서AWS 서비스의 이벤트를 참조하세요.

새 회의가 시작되면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:MeetingStarted", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

활성 회의가 종료되면 Amazon Chime SDK가 이 이벤트를 보냅니다.

참고

효율성을 위해 서비스는 DeleteMeeting API를 직접 호출할 때 이 이벤트도 전송합니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:MeetingEnded", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

새 참석자가 활성 회의에 추가되면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeAdded", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

DeleteAttendee API를 사용하여 활성 회의에서 참석자를 제거하면 Amazon Chime SDK에서 이 이벤트를 전송합니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeDeleted", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

이미 회의에 참여한 사용자가 동일한 참여 토큰을 사용하여 다시 회의에 참여하면 Amazon Chime SDK에서 이 이벤트를 전송합니다. 예를 들어, 사용자는 데스크톱 컴퓨터에서 모바일 디바이스로 전환할 수 있습니다. 이렇게 하면 회의가 새 디바이스로 효과적으로 "전환"됩니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeAuthorized", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

기존 참석자가 지정된 네트워크 전송을 사용하여 Amazon Chime SDK 회의에 참여하면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeJoined", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "networkType": "Voip", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

기존 참석자가 지정된 네트워크 전송을 사용하여 Amazon Chime SDK 회의를 떠나면 Amazon Chime SDK가 이 이벤트를 보냅니다.

참고

서비스는 동일한 "나가기" 작업에 대해 chime:AttendeeLeftchime:AttendeeDropped 이벤트를 동시에 보내지 않습니다. 이탈 및 나가기는 서로 다른 작업이며 시스템에서는 각 작업에 해당하는 이벤트를 보냅니다.

예를 들어 연결 상태가 좋지 않은 참석자가 오전 11시에 회의에 참여한다고 가정해 보겠습니다. 이 경우 다음과 같은 작업을 예상할 수 있습니다.

11:00 API – CreateAttendee, CreateMeetingWithAttendee, or BatchCreateAttendee 11:00 Event – chime:AttendeeAdded 11:01 Action – user joins meeting 11:01 Event – chime:AttendeeJoined 11:02 Action – user's connection drops 11:02 Event – chime:AttendeeDropped 11:03 Action – user's connection restored 11:03 Event – chime:AttendeeJoined 11:30 Action – user leaves meeting 11:30 Event – chime:AttendeeLeft
예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeLeft", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "networkType": "Voip", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

일반적으로 연결 상태가 좋지 않아 현재 참석자가 Amazon Chime SDK 회의에서 이탈할 경우 Amazon Chime SDK에서 이 이벤트를 전송합니다. 서비스가 10~15초 동안 패킷을 수신하지 못하면 클라이언트가 끊긴 것으로 간주되어 해당 이벤트가 발생합니다.

이탈 작업은 보통 서비스가 트리거하지만 클라이언트도 트리거할 수 있습니다. 예를 들어, 사용자가 노트북을 Wi-Fi에서 이더넷으로 전환한다고 가정해 보겠습니다. 이는 네트워크 어댑터 변경으로 간주되어 연결이 초기화됩니다. 그러면 웹소켓이 재설정되고 결합된 드롭-조인 작업이 트리거됩니다.

참고

서비스는 동일한 "나가기" 작업에 대해 chime:AttendeeLeftchime:AttendeeDropped 이벤트를 동시에 보내지 않습니다. 이탈 및 나가기는 서로 다른 작업이며 시스템에서는 각 작업에 해당하는 이벤트를 보냅니다.

예를 들어 연결 상태가 좋지 않은 참석자가 오전 11시에 회의에 참여한다고 가정해 보겠습니다. 이 경우 다음과 같은 작업을 예상할 수 있습니다.

11:00 API – CreateAttendee, CreateMeetingWithAttendee, or BatchCreateAttendee 11:00 Event – chime:AttendeeAdded 11:01 Action – user joins meeting 11:01 Event – chime:AttendeeJoined 11:02 Action – user's connection drops 11:02 Event – chime:AttendeeDropped 11:03 Action – user's connection restored 11:03 Event – chime:AttendeeJoined 11:30 Action – user leaves meeting 11:30 Event – chime:AttendeeLeft
예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeDropped", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "networkType": "Voip", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

기존 참석자가 비디오 스트리밍을 시작하면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeVideoStarted", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

기존 참석자가 비디오 스트리밍을 중지하면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeVideoStopped", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

기존 참석자가 화면 공유를 시작하면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeContentJoined", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

기존 참석자가 화면 공유를 중지하면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeContentLeft", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

기존 참석자의 기능이 업데이트되면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터
{ "version": "0", "source": "aws.chime", "account": "111122223333", "id": "12345678-1234-1234-1234-111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [], "detail": { "version": "0", "eventType": "chime:AttendeeCapabilitiesUpdated", "success": "1", // value can be 1 or 0. 1 means success, 0 means failure "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "mymeeting", "attendeeId": "attendeeId", "externalUserId": "externalUserId" "mediaRegion": "us-east-1" "attendeeCapabilities": { "audio": "SendReceive", "video": "SendReceive", "content": "SendReceive" } } }

콘텐츠 공유가 지정된 네트워크 전송을 사용하여 Amazon Chime SDK 회의에 참여하면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeContentJoined", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "networkType": "Voip", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

콘텐츠 공유가 지정된 네트워크 전송을 사용하여 Amazon Chime SDK 회의에서 떠나면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeContentLeft", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "networkType": "Voip", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

일반적으로 낮은 대역폭으로 인해 Amazon Chime SDK 회의에서 콘텐츠 공유가 끊어지면 이 이벤트가 전송됩니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeContentDropped", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "networkType": "Voip", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

콘텐츠 공유가 비디오 스트리밍을 시작하면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeContentVideoStarted", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }

콘텐츠 공유가 비디오 스트리밍을 중지하면 Amazon Chime SDK가 이 이벤트를 보냅니다.

예 이벤트 데이터

다음 예에서는 이 이벤트의 데이터를 보여줍니다.

{ "version": "0", "source": "aws.chime", "account": "111122223333", "region": "us-east-1", "detail-type": "Chime Meeting State Change", "time": "yyyy-mm-ddThh:mm:ssZ", "resources": [] "detail": { "version": "0", "eventType": "chime:AttendeeContentVideoStopped", "timestamp": 12344566754, "meetingId": "87654321-4321-4321-1234-111122223333", "attendeeId": "87654321-4321-4321-1234-111122223333", "externalUserId": "87654321-4321-4321-1234-111122223333", "externalMeetingId": "87654321-4321-4321-1234-111122223333", "mediaRegion": "us-east-1" } }