Клиентская библиотека Azure RoomsApi для JavaScript версии 1.1.1
Этот пакет содержит isomorphic SDK (выполняется как в Node.js, так и в браузерах) для клиента Azure RoomsApi.
Клиент комнат коммуникации
Начало работы
Поддерживаемые в настоящее время среды
- версии LTS Node.js
- Последние версии Safari, Chrome, Edge и Firefox.
Необходимые условия
- подписка Azure.
- Существующий ресурс служб коммуникации. Если необходимо создать ресурс, можно использовать портал Azure, [Azure PowerShell][azure_powershell], Azure CLI.
Пакет JavaScript
Чтобы использовать эту клиентную библиотеку в браузере, сначала необходимо использовать пакет. Дополнительные сведения о том, как это сделать, см. в нашей документации по .
Установка
npm install @azure/communication-rooms
Основные понятия
RoomsApiClient
RoomsClient
— это основной интерфейс для разработчиков с помощью клиентской библиотеки Azure RoomsApi. Изучите методы этого клиентского объекта, чтобы понять различные функции службы Azure RoomsApi, к которым можно получить доступ.
Примеры
Аутентификация
Вы можете получить ключ и (или) строку подключения из ресурса Служб коммуникации в портала Azure. После получения ключа можно пройти проверку подлинности RoomsClient
с помощью любого из следующих методов:
Создание KeyCredential
с AzureKeyCredential
перед инициализацией клиента
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.
Употребление
Создание комнаты
Чтобы создать комнату, вызовите метод createRoom
. Все параметры являются необязательными.
Если validFrom
не указан, по умолчанию используется текущая дата и время. Если validUntil
не указан, значение по умолчанию — validFrom + 180 days
.
При определении participants
, если role
не указан, по умолчанию он будет attendee
.
Начиная с выпуска 1.1.0, PstnDialOutEnabled
свойство добавляется для включения или отключения функции ТСОП dial-Out в комнате.
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);
Find CommunicationIdentityClient здесь
Обновление комнаты
Чтобы обновить параметры validFrom
и validUntil
комнаты, используйте метод updateRoom
.
Начиная с выпуска 1.1.0, PstnDialOutEnabled
свойство добавляется для включения или отключения функции ТСОП dial-Out в комнате.
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
. Кроме того, ведение журнала можно включить во время выполнения путем вызова setLogLevel
в @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Дополнительные инструкции по включению журналов см. в документации по пакету @azure/loger.
Дальнейшие действия
Ознакомьтесь с примерами каталога, чтобы получить подробные примеры использования этой библиотеки.
Способствует
Если вы хотите внести свой вклад в эту библиотеку, ознакомьтесь с руководством по вкладу, чтобы узнать больше о том, как создавать и тестировать код.
Связанные проекты
Azure SDK for JavaScript