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:AttendeeLeft
및 chime: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:AttendeeLeft
및 chime: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
"
}
}