Biblioteca de cliente do Azure RoomsApi para JavaScript - versão 1.1.1
Este pacote contém um SDK isomórfico (executado em Node.js e em navegadores) para o cliente Azure RoomsApi.
Cliente Salas de Comunicação
Código-fonte | Package (NPM) | Samples
Primeiros passos
Ambientes atualmente suportados
- versões LTS do Node.js
- Últimas versões do Safari, Chrome, Edge e Firefox.
Pré-requisitos
- Uma assinatura do Azure.
- Um recurso de Serviços de Comunicação existente. Se precisar criar o recurso, você pode usar o do Portal do Azure, o [Azure PowerShell][azure_powershell] ou o da CLI do Azure.
Pacote JavaScript
Para usar essa biblioteca de cliente no navegador, primeiro você precisa usar um bundler. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agregação de .
Instalação
npm install @azure/communication-rooms
Conceitos-chave
QuartosApiClient
RoomsClient
é a interface principal para desenvolvedores que usam a biblioteca de cliente do Azure RoomsApi. Explore os métodos neste objeto de cliente para entender os diferentes recursos do serviço Azure RoomsApi que você pode acessar.
Exemplos
Autenticação
Você pode obter uma chave e/ou cadeia de conexão do seu recurso de Serviços de Comunicação no Portal Azure. Depois de ter uma chave, você pode autenticar o RoomsClient
com qualquer um dos seguintes métodos:
Crie KeyCredential
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 seu recurso de Serviços de Comunicação em Portal do Azure.
Utilização
Criar uma sala
Para criar uma sala, chame o método createRoom
. Todas as configurações são opcionais.
Se validFrom
não for fornecida, ela será padronizada para a datetime atual. Se validUntil
não for fornecido, o padrão será validFrom + 180 days
.
Ao definir participants
, se role
não for especificado, ele será attendee
por padrão.
A partir da versão 1.1.0, PstnDialOutEnabled
propriedade é adicionada para habilitar ou desabilitar o recurso de discagem PSTN em uma sala. O PstnDialOutEnabled
é uma propriedade opcional. Se PstnDialOutEnabled
não for fornecido, o padrão para 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);
Encontre CommunicationIdentityClient aqui
Atualizar um quarto
Para atualizar as configurações de validFrom
e validUntil
de uma sala, use o método updateRoom
.
A partir da versão 1.1.0, PstnDialOutEnabled
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 um quarto
Para obter uma sala, use o método getRoom
.
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Listar quartos
Liste todos os quartos usando o método listRooms
.
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 participantes existentes, use o método 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);
Remover participantes
Para remover participantes, chame o método removeParticipants
.
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
Colocar os participantes numa sala
Para listar todos os participantes de uma sala, chame o método 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}.`);
}
Excluir uma sala
Use o método deleteRoom
para excluir uma sala.
await roomsClient.deleteRoom(room.id);
Solução de problemas
Registo
Habilitar o registro em 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 registro em log pode ser habilitado em tempo de execução chamando setLogLevel
no @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Para obter instruções mais detalhadas sobre como habilitar logs, você pode consultar os documentos do pacote @azure/logger.
Próximos passos
Por favor, dê uma olhada no exemplos diretório para obter exemplos detalhados sobre como usar esta biblioteca.
Contribuição
Se você quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.
Projetos relacionados
- SDK do Microsoft Azure para JavaScript
Azure SDK for JavaScript