Biblioteca de clientes do Azure RoomsApi para JavaScript – versão 1.1.0
Esse pacote contém um SDK isomórfico (executado em Node.js e em navegadores) para o cliente RoomsApi do Azure.
Cliente das Salas de Comunicação
Código-fonte | Pacote (NPM) | Amostras
Introdução
Ambientes com suporte no momento
- Versões LTS do Node.js
- Versões mais recentes do Safari, Chrome, Edge e Firefox.
Pré-requisitos
- Uma assinatura do Azure.
- Um recurso existente dos Serviços de Comunicação. Se você precisar criar o recurso, poderá usar o Portal do Azure, o [Azure PowerShell][azure_powershell]ou a CLI do Azure.
Pacote JavaScript
Para usar essa biblioteca de clientes no navegador, primeiro você precisa usar um empacotador. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agrupamento.
Instalando o
npm install @azure/communication-rooms
Principais conceitos
RoomsApiClient
RoomsClient
é a interface principal para desenvolvedores que usam a biblioteca de clientes do Azure RoomsApi. Explore os métodos neste objeto cliente para entender os diferentes recursos do serviço RoomsApi do Azure que você pode acessar.
Exemplos
Autenticação
Você pode obter uma chave e/ou cadeia de conexão do recurso dos Serviços de Comunicação no Portal do Azure. Depois de ter uma chave, você poderá autenticar o RoomsClient
com qualquer um dos seguintes métodos:
KeyCredential
Create com AzureKeyCredential
antes de inicializar o cliente
import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);
Usando uma cadeia de conexão
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
Usando um TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);
Se você usar uma chave para inicializar o cliente, também precisará fornecer o ponto de extremidade apropriado. Você pode obter esse ponto de extremidade do recurso dos Serviços de Comunicação no Portal do Azure.
Uso
Criar uma sala
Para criar uma sala, chame o createRoom
método . Todas as configurações são opcionais.
Se validFrom
não for fornecido, ele será padronizado para o datetime atual. Se validUntil
não for fornecido, o padrão será validFrom + 180 days
.
Ao definir participants
, se role
não for especificado, será attendee
por padrão.
A partir da versão 1.1.0, PstnDialOutEnabled
a propriedade é adicionada para habilitar ou desabilitar o recurso de Discagem PSTN em uma sala. PstnDialOutEnabled
é uma propriedade opcional. Se PstnDialOutEnabled
não for fornecido, o padrão para PstnDialOutEnabled
será 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);
Localize CommunicationIdentityClient aqui
Atualizar uma sala
Para atualizar as validFrom
configurações e validUntil
de uma sala, use o updateRoom
método .
A partir da versão 1.1.0, PstnDialOutEnabled
a propriedade é adicionada para habilitar ou desabilitar o recurso de Discagem PSTN em uma sala.
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);
Obter uma sala
Para obter uma sala, use o getRoom
método .
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Listar salas
Liste todas as salas usando o listRooms
método .
const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
// access room data
console.log(`The room id is ${currentRoom.id}.`);
}
Adicionar ou atualizar participantes
Para adicionar novos participantes ou atualizar os participantes existentes, use o addOrUpdateParticipants
método .
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);
Remover participantes
Para remover os participantes, chame o removeParticipants
método .
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
Obter participantes em uma sala
Para listar todos os participantes em uma sala, chame o listParticipants
método .
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}.`);
}
Excluir uma sala
Use o deleteRoom
método para excluir uma sala.
await roomsClient.deleteRoom(room.id);
Solução de problemas
Registro em log
A habilitação do log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL
como info
. Como alternativa, o log pode ser habilitado no runtime chamando setLogLevel
em @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Para obter instruções mais detalhadas sobre como habilitar logs, veja os documentos do pacote @azure/logger.
Próximas etapas
Examine o diretório de exemplos para obter exemplos detalhados sobre como usar essa biblioteca.
Contribuição
Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.
Projetos relacionados
Azure SDK for JavaScript