JavaScript용 Azure RoomsApi 클라이언트 라이브러리 - 버전 1.1.1
이 패키지에는 Azure RoomsApi 클라이언트에 대한 등형 SDK(Node.js 및 브라우저에서 모두 실행됨)가 포함되어 있습니다.
Communication Rooms 클라이언트
시작
현재 지원되는 환경
- LTS 버전의 Node.js
- Safari, Chrome, Edge 및 Firefox의 최신 버전입니다.
필수 구성 요소
- Azure 구독.
- 기존 Communication Services 리소스입니다. 리소스를 만들어야 하는 경우 Azure Portal, [Azure PowerShell][azure_powershell] 또는 Azure CLI사용할 수 있습니다.
JavaScript 번들
브라우저에서 이 클라이언트 라이브러리를 사용하려면 먼저 번들러를 사용해야 합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 번들링 설명서참조하세요.
설치
npm install @azure/communication-rooms
주요 개념
RoomsApiClient
RoomsClient
Azure RoomsApi 클라이언트 라이브러리를 사용하는 개발자를 위한 기본 인터페이스입니다. 이 클라이언트 개체의 메서드를 탐색하여 액세스할 수 있는 Azure RoomsApi 서비스의 다양한 기능을 이해합니다.
예제
인증
Azure PortalCommunication Services 리소스에서 키 및/또는 연결 문자열을 가져올 수 있습니다. 키가 있으면 다음 방법 중 원하는 방법으로 RoomsClient
인증할 수 있습니다.
클라이언트를 초기화하기 전에 AzureKeyCredential
사용하여 KeyCredential
만들기
import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);
연결 문자열 사용
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
TokenCredential
사용
import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);
키를 사용하여 클라이언트를 초기화하는 경우 적절한 엔드포인트도 제공해야 합니다. Azure Portal
사용법
회의실 만들기
회의실을 만들려면 createRoom
메서드를 호출합니다. 모든 설정은 선택 사항입니다.
validFrom
제공되지 않으면 현재 날짜/시간으로 기본 설정됩니다.
validUntil
제공되지 않으면 기본값은 validFrom + 180 days
.
participants
정의할 때 role
지정되지 않은 경우 기본적으로 attendee
.
1.1.0 릴리스부터 PstnDialOutEnabled
속성이 추가되어 회의실에서 PSTN 전화 접속 기능을 사용하거나 사용하지 않도록 설정합니다.
PstnDialOutEnabled
선택적 속성입니다.
PstnDialOutEnabled
제공되지 않으면 PstnDialOutEnabled
기본값은 false입니다.
// create users with CommunicationIdentityClient
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
// create RoomsClient
const roomsClient: RoomsClient = new RoomsClient(CONNECTION_STRING);
const validFrom = new Date(Date.now());
const validForDays = 10;
const validUntil = new Date(validFrom.getTime());
validUntil.setDate(validFrom.getDate() + validForDays);
const pstnDialOutEnabled = true;
// options payload to create a room
const createRoomOptions: CreateRoomOptions = {
validFrom,
validUntil,
pstnDialOutEnabled,
participants: [
{
id: user1.user,
role: "Attendee",
},
],
};
// create room
const room = await roomsClient.createRoom(createRoomOptions);
여기에서 CommunicationIdentityClient 찾기
회의실 업데이트
회의실의 validFrom
및 validUntil
설정을 업데이트하려면 updateRoom
메서드를 사용합니다.
1.1.0 릴리스부터 PstnDialOutEnabled
속성이 추가되어 회의실에서 PSTN 전화 접속 기능을 사용하거나 사용하지 않도록 설정합니다.
validForDays = 60;
validUntil.setDate(validFrom.getDate() + validForDays);
pstnDialOutEnabled = false;
const updateRoomOptions: UpdateRoomOptions = {
validFrom,
validUntil,
pstnDialOutEnabled,
};
// update the room using the room id from the creation operation
const updatedRoom = await roomsClient.updateRoom(room.id, updateRoomOptions);
회의실 가져오기
회의실을 얻으려면 getRoom
메서드를 사용합니다.
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
회의실 나열
listRooms
메서드를 사용하여 모든 회의실을 나열합니다.
const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
// access room data
console.log(`The room id is ${currentRoom.id}.`);
}
참가자 추가 또는 업데이트
새 참가자를 추가하거나 기존 참가자를 업데이트하려면 addOrUpdateParticipants
방법을 사용합니다.
const user2 = await identityClient.createUserAndToken(["voip"]);
const updateParticipantsList: RoomParticipantPatch[] = [
{
id: user1.user,
role: "Presenter",
},
{
id: user2.user,
},
];
// run addOrUpdate operation
await roomsClient.addOrUpdateParticipants(room.id, updateParticipantsList);
참가자 제거
참가자를 제거하려면 removeParticipants
메서드를 호출합니다.
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
회의실에서 참가자 가져오기
회의실의 모든 참가자를 나열하려면 listParticipants
메서드를 호출합니다.
const participantsList = await roomsClient.listParticipants(room.id);
for await (const participant of participantsList) {
// access participant data
console.log(`The participant's role is ${participant.role}.`);
}
회의실 삭제
deleteRoom
메서드를 사용하여 방을 삭제합니다.
await roomsClient.deleteRoom(room.id);
문제 해결
로깅
로깅을 사용하도록 설정하면 오류에 대한 유용한 정보를 파악하는 데 도움이 될 수 있습니다. HTTP 요청 및 응답 로그를 보려면 AZURE_LOG_LEVEL
환경 변수를 info
설정합니다. 또는 @azure/logger
setLogLevel
호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
로그를 사용하도록 설정하는 방법에 대한 자세한 지침은 @azure/로거 패키지 문서확인할 수 있습니다.
다음 단계
이 라이브러리를 사용하는 방법에 대한 자세한 예제는 샘플 디렉터리를 살펴보세요.
기여
이 라이브러리에 기여하려면 기여 가이드 읽어 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.
관련 프로젝트
- JavaScript용 Microsoft Azure SDK
Azure SDK for JavaScript