Azure RoomsApi client library for JavaScript - version 1.1.0 (Biblioteca de cliente Azure RoomsApi para JavaScript – versão 1.1.0)
Este pacote contém um SDK isomórfico (executado tanto em Node.js como em browsers) para o cliente Azure RoomsApi.
Cliente de Salas de Comunicação
Código fonte | Pacote (NPM) | Exemplos
Introdução
Ambientes atualmente suportados
- Versões LTS do Node.js
- Versões mais recentes do Safari, Chrome, Edge e Firefox.
Pré-requisitos
- Uma subscrição do Azure.
- Um recurso existente do Communication Services. Se precisar de criar o recurso, pode utilizar o Portal do Azure, o [Azure PowerShell][azure_powershell] ou a CLI do Azure.
Pacote JavaScript
Para utilizar esta biblioteca de cliente no browser, primeiro tem de utilizar um bundler. Para obter detalhes sobre como fazê-lo, veja a nossa documentação de agrupamento.
Instalação
npm install @azure/communication-rooms
Conceitos-chave
RoomsApiClient
RoomsClient
é a interface principal para programadores que utilizam a biblioteca de cliente Azure RoomsApi. Explore os métodos neste objeto de cliente para compreender as diferentes funcionalidades do serviço Azure RoomsApi a que pode aceder.
Exemplos
Autenticação
Pode obter uma chave e/ou cadeia de ligação a partir do recurso dos Serviços de Comunicação no portal do Azure. Assim que tiver uma chave, pode autenticar 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);
Utilizar um cadeia de ligação
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
Utilizar um TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);
Se utilizar uma chave para inicializar o cliente, também terá de fornecer o ponto final adequado. Pode obter este ponto final a partir do recurso dos Serviços de Comunicação no portal do Azure.
Utilização
Create uma sala
Para criar uma sala, chame o createRoom
método . Todas as definições são opcionais.
Se validFrom
não for fornecido, é predefinido para o datetime atual. Se validUntil
não for fornecido, a predefinição é validFrom + 180 days
.
Ao definir participants
, se role
não for especificado, será attendee
por predefinição.
A partir da versão 1.1.0, PstnDialOutEnabled
a propriedade é adicionada para ativar ou desativar a funcionalidade Desativar o Acesso Telefónico RTPC numa sala. É PstnDialOutEnabled
uma propriedade opcional. Se PstnDialOutEnabled
não for fornecido, a predefinição para PstnDialOutEnabled
é falso.
// 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
definições e validUntil
de uma sala, utilize o updateRoom
método .
A partir da versão 1.1.0, PstnDialOutEnabled
a propriedade é adicionada para ativar ou desativar a funcionalidade Desativar o Acesso Telefónico RTPC numa 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, utilize o getRoom
método .
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Listar salas
Liste todas as salas com 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, utilize 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 participantes, chame o removeParticipants
método .
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
Obter participantes numa sala
Para listar todos os participantes numa 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}.`);
}
Eliminar uma sala
Utilize o deleteRoom
método para eliminar uma sala.
await roomsClient.deleteRoom(room.id);
Resolução de problemas
Registo
Ativar o registo pode ajudar a descobrir informações úteis sobre falhas. Para ver um registo de pedidos e respostas HTTP, defina a variável de AZURE_LOG_LEVEL
ambiente como info
. Em alternativa, o registo pode ser ativado no runtime ao chamar setLogLevel
no @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Para obter instruções mais detalhadas sobre como ativar os registos, pode ver os documentos do pacote @azure/logger.
Passos seguintes
Veja o diretório de exemplos para obter exemplos detalhados sobre como utilizar esta biblioteca.
Contribuir
Se quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.
Projetos relacionados
Azure SDK for JavaScript