Клиентская библиотека Azure RoomsApi для JavaScript версии 1.1.0
Этот пакет содержит изоморфный пакет SDK (выполняется как в Node.js, так и в браузерах) для клиента Azure RoomsApi.
Клиент комнат связи
Исходный код | Пакет (NPM) | Образцы
Начало работы
Поддерживаемые в настоящее время среды
- 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
Create с 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.
Использование
Create комнаты
Чтобы создать комнату, вызовите createRoom
метод . Все эти параметры не являются обязательными.
Если validFrom
параметр не указан, по умолчанию используется текущая дата и время. Если validUntil
параметр не указан, по умолчанию используется значение validFrom + 180 days
.
При определении participants
, если role
параметр не указан, он будет по attendee
умолчанию.
Начиная с выпуска 1.1.0, добавляется свойство для PstnDialOutEnabled
включения или отключения функции коммутируемого номера ТСОП в комнате. Свойство 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());
let validForDays = 10;
let validUntil = new Date(validFrom.getTime());
validUntil.setDate(validFrom.getDate() + validForDays);
let 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
включения или отключения функции коммутируемого номера ТСОП в комнате.
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 = [
{
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 и средства ведения журнала.
Дальнейшие действия
Подробные примеры использования этой библиотеки см. в каталоге примеров .
Участие
Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.
Связанные проекты
Azure SDK for JavaScript