Compartilhar via


Biblioteca de clientes do Azure RoomsApi para JavaScript – versão 1.1.1

Esse pacote contém um SDK isomórfico (executado em Node.js e em navegadores) para o cliente RoomsApi do Azure.

Cliente de Salas de Comunicação

de exemplos de pacote dede código-fonte (NPM)

Introdução

Ambientes com suporte no momento

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 .

Instalar

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ê pode autenticar o RoomsClient com qualquer um dos seguintes métodos:

Criar 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 recurso dos Serviços de Comunicação no portal do Azure.

Uso

Criar uma sala

Para criar uma sala, chame o método createRoom. 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, ele será attendee por padrão.

A partir da versão 1.1.0, PstnDialOutEnabled propriedade é adicionada para habilitar ou desabilitar o recurso PSTN Dial-Out em uma sala. O 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());
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);

Localizar CommunicationIdentityClient aqui

Atualizar uma sala

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 PSTN Dial-Out 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);

Salas de lista

Liste todas as salas 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 os 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 os participantes, chame o método removeParticipants.

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 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);

Solucionando problemas

Log

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 runtime chamando setLogLevel no @azure/logger:

const { setLogLevel } = require("@azure/logger");
setLogLevel("info");

Para obter instruções mais detalhadas sobre como habilitar logs, você pode examinar os documentos do pacote @azure/agente.

Próximas etapas

Examine os exemplos de diretório para obter exemplos detalhados sobre como usar essa biblioteca.

Contribuindo

Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.

  • do SDK do Microsoft Azure para JavaScript

impressões