Partilhar via


Guia de início rápido: criar e gerenciar um recurso de sala

Este guia de início rápido ajuda você a começar a usar as Salas dos Serviços de Comunicação do Azure. A room é um espaço de comunicação gerenciado pelo servidor para que um conjunto fixo e conhecido de participantes colaborem por uma duração predeterminada. A documentação conceitual das salas abrange mais detalhes e casos de uso para rooms.

Modelo de objeto

A tabela a seguir lista as principais propriedades dos room objetos:

Nome Descrição
roomId Identificador único room .
validFrom Tempo mais cedo um room pode ser usado.
validUntil Última vez que um room pode ser usado.
pstnDialOutEnabled Habilite ou desabilite a discagem para um número PSTN em uma sala.
participants Lista de participantes para um room. Especificado como um CommunicationUserIdentifierarquivo .
roleType O papel de um participante da sala. Pode ser , PresenterAttendeeou Consumer.

Pré-requisitos

  • Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
  • Um recurso ativo dos Serviços de Comunicação e uma cadeia de conexão. Crie um recurso de Serviços de Comunicação.
  • Instalar a CLI do Azure.
  • Você pode obter a cadeia de conexão do portal do Azure clicando nas teclas nas configurações.

Configuração

Adicionar a extensão

Adicione a extensão dos Serviços de Comunicação do Azure para a CLI do Azure usando o az extension comando.

az extension add --name communication

Iniciar sessão na CLI do Azure

Você precisa entrar na CLI do Azure. Você pode entrar executando o az login comando do terminal e fornecendo suas credenciais.

Armazene sua cadeia de conexão em uma variável de ambiente

Você pode configurar a AZURE_COMMUNICATION_CONNECTION_STRING variável de ambiente para usar operações de chaves da CLI do Azure sem precisar usar --connection_string para passar na cadeia de conexão. Para configurar uma variável de ambiente, abra uma janela do console e selecione seu sistema operacional nas guias abaixo. Substitua <connectionString> pela cadeia de conexão real.

setx AZURE_COMMUNICATION_CONNECTION_STRING "<connectionString>"

Depois de adicionar a variável de ambiente, talvez seja necessário reiniciar todos os programas em execução que precisem ler a variável de ambiente, incluindo a janela do console. Por exemplo, se você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.

Operações

Criar uma sala

Use o rooms create comando para criar uma sala.

az communication rooms create --presenter-participants "<participantId>" --consumer-participants "<participantId>" --attendee-participant "<participantId>" --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --connection-string "<connection-string>"
  • Use <participantId> opcionalmente para especificar o tipo de participante como apresentador-participantes, consumidor-participantes ou participantes-participantes. Se você não especificar um valor, o padrão estará vazio.
  • Substitua <connection-string> pela cadeia de conexão dos Serviços de Comunicação do Azure.
  • Use <valid-from> opcionalmente para especificar o carimbo de data/hora quando a sala estiver aberta para ingresso, no formato ISO8601, ex: 2022-07-14T10:21.
  • Use <valid-until> opcionalmente para especificar o carimbo de data/hora quando a sala não puder mais ser unida, no formato ISO8601, ex: 2022-07-14T10:21.
  • Use <pstn-dial-out-enabled> opcionalmente definindo esse sinalizador ("True" ou "False") para habilitar ou desabilitar a discagem PSTN para uma sala. Por padrão, esse sinalizador é definido como "False" ao criar uma sala.

Se você armazenou a cadeia de conexão em variáveis de ambiente como indicado acima, não precisará passá-las para o comando.

az communication rooms create 

Ativar a capacidade de discagem PSTN para uma sala

A discagem PSTN pode ser ativada durante rooms create definindo o --pstn-dial-out-enabled parâmetro como "True". Esse recurso também pode ser modificado durante rooms update especificando o --pstn-dial-out-enabled parâmetro.

az communication rooms create --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --connection-string "<connection-string>"
az communication rooms update --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
  • Para ativar ou desativar a discagem PSTN para uma sala, defina <pstn-dial-out-enabled> o sinalizador ("True" ou "False").

Obtenha os quartos

O rooms get comando retorna os atributos de uma sala existente.

az communication rooms get --room "<roomId>" 
  • Substitua <roomId> pelo ID do quarto.

Atualizar o período de tempo de uma sala

Você pode atualizar o carimbo de data/hora de uma sala. Antes de chamar o room update comando, verifique se você adquiriu uma nova sala com um período de tempo válido.

az communication rooms update --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
  • Substitua <valid-from> pelo carimbo de data/hora no formato ISO8601, ex: 2022-07-14T10:21, para especificar quando a sala está aberta para ingresso. Deve ser utilizado em conjunto com --valid-until.
  • Substitua <valid-until> pelo carimbo de data/hora no formato ISO8601, ex: 2022-07-14T10:21, para especificar quando a sala não pode mais ser unida. Deve ser utilizado em conjunto com --valid-from.
  • Substitua <pstn-dial-out-enabled> o conjunto deste sinalizador ("True" ou "False") para ativar ou desativar a discagem PSTN para uma sala. Deve ser utilizado em conjunto com --pstn-dial-out-enabled.
  • Substitua <roomId> pelo ID do quarto.

Listar todos os quartos ativos

O rooms list comando retorna todas as salas ativas pertencentes ao seu recurso dos Serviços de Comunicação do Azure.

az communication rooms list

Adicionar novos participantes ou atualizar participantes existentes

Ao criar uma sala, você pode atualizá-la adicionando um novo participante ou atualizando um participante existente nela. Antes de chamar o room participant add-or-update comando, verifique se você adquiriu um novo usuário.

Use o identity user create comando para criar um novo participante, identificado por participantId.

az communication identity user create

Adicione um usuário como participante à sala.

az communication rooms participant add-or-update --attendee-participant "<participantId>" --room "<roomId>"
  • Substitua <participantId> pelo seu ID de participante. Se o <participantId> não existir na sala, o participante será adicionado à sala como um papel de participante. Caso contrário, a função do participante será atualizada para uma função de participante.
  • Substitua <roomId> pelo ID do quarto.

Obter lista de participantes numa sala

az communication rooms participant get --room "<roomId>"
  • Substitua <roomId> pelo ID do quarto.

Remover um participante de uma sala

Você pode remover um participante de uma sala usando rooms participant -remove.

az communication rooms participant remove --room "<roomId>" --participants "<participant1>" "<participant2>" "<participant3>"
  • Substitua <roomId> pelo ID do quarto.
  • Substitua <participant1>, <participant2>, <participant3> pelos IDs de usuário obtidos anteriormente com o comando em execução identity user create.

Excluir uma sala

Semelhante à criação de uma sala, você também pode excluir uma sala.

Use room delete o comando para excluir a sala existente.

az communication rooms delete --room "<roomId>"
  • Substitua <roomId> pelo ID do quarto.

Este guia de início rápido ajuda você a começar a usar as Salas dos Serviços de Comunicação do Azure. A room é um espaço de comunicação gerenciado pelo servidor para que um conjunto fixo e conhecido de participantes colaborem por uma duração predeterminada. A documentação conceitual das salas abrange mais detalhes e casos de uso para rooms.

Pré-requisitos

Código de exemplo

Você pode revisar e baixar o código de exemplo para este início rápido no GitHub.

Configuração

Criar um novo aplicativo C#

Em uma janela de console (como cmd, PowerShell ou Bash), use o dotnet new comando para criar um novo aplicativo de console com o nome RoomsQuickstart. Este comando cria um projeto C# "Hello World" simples com um único arquivo de origem: Program.cs.

dotnet new console -o RoomsQuickstart

Altere seu diretório para a pasta do aplicativo recém-criada e use o dotnet build comando para compilar seu aplicativo.

cd RoomsQuickstart
dotnet build

Instalar o pacote

Instale a biblioteca de cliente do Azure Communication Rooms para .NET com [NuGet][https://www.nuget.org/]:

dotnet add package Azure.Communication.Rooms

Você precisará usar a biblioteca de cliente do Azure Communication Rooms para .NET versão 1.1.0 ou superior.

Configurar a estrutura do aplicativo

Program.cs No arquivo, adicione o código a seguir para importar os namespaces necessários e criar a estrutura básica do programa.


using System;
using Azure;
using Azure.Core;
using Azure.Communication.Rooms;

namespace RoomsQuickstart
{
    class Program
    {
        static async System.Threading.Tasks.Task Main(string[] args)
        {
            Console.WriteLine("Azure Communication Services - Rooms Quickstart");

            // Quickstart code goes here
        }
    }
}

Inicializar um cliente de sala

Crie um novo RoomsClient objeto que será usado para criar novos rooms e gerenciar suas propriedades e ciclo de vida. A cadeia de conexão do seu Communications Service será usada para autenticar a solicitação. Para obter mais informações sobre cadeias de conexão, consulte esta página.


// Find your Communication Services resource in the Azure portal
var connectionString = "<connection_string>";
RoomsClient roomsClient = new RoomsClient(connectionString);

Criar uma sala

Configurar participantes da sala

Para configurar quem pode entrar em uma sala, você precisará ter a lista das identidades desses usuários. Você pode seguir as instruções aqui para criar usuários e emitir tokens de acesso. Como alternativa, se você quiser criar os usuários sob demanda, poderá criá-los usando o CommunicationIdentityClient. Atualmente, o ACS Rooms suporta apenas um participante de sala do tipo CommunicationUserIdentifier, o uso de outros tipos de CommunicationIdentity resultará em um erro de tempo de execução.

Para usar o CommunicationIdentityClient, instale o seguinte pacote:

dotnet add package Azure.Communication.Identity

Além disso, importe o namespace do pacote na parte superior do Program.cs arquivo:

using Azure.Communication.Identity;

Agora, o CommunicationIdentityClient pode ser inicializado e usado para criar usuários:

// Create identities for users who will join the room
CommunicationIdentityClient identityClient = new CommunicationIdentityClient(connectionString);
CommunicationUserIdentifier user1 = identityClient.CreateUser();
CommunicationUserIdentifier user2 = identityClient.CreateUser();

Em seguida, crie a lista de participantes da sala fazendo referência a esses usuários:

List<RoomParticipant> participants = new List<RoomParticipant>()
{
    new RoomParticipant(user1) { Role = ParticipantRole.Presenter },
    new RoomParticipant(user2) // The default participant role is ParticipantRole.Attendee
};

Inicializar a sala

Crie um novo room usando o participants definido no trecho de código acima:

// Create a room
DateTimeOffset validFrom = DateTimeOffset.UtcNow;
DateTimeOffset validUntil = validFrom.AddDays(1);
CancellationToken cancellationToken = new CancellationTokenSource().Token;

CommunicationRoom createdRoom = await roomsClient.CreateRoomAsync(validFrom, validUntil, participants, cancellationToken);

// CreateRoom or CreateRoomAsync methods can take CreateRoomOptions type as an input parameter.
bool pstnDialOutEnabled = false;
CreateRoomOptions createRoomOptions = new CreateRoomOptions()
{
    ValidFrom = validFrom,
    ValidUntil = validUntil,
    PstnDialOutEnabled = pstnDialOutEnabled,
    Participants = participants
};

createdRoom = await roomsClient.CreateRoomAsync(createRoomOptions, cancellationToken);
string roomId = createdRoom.Id;
Console.WriteLine("\nCreated room with id: " + roomId);

Como rooms são entidades do lado do servidor, convém acompanhar e persistir no roomId meio de armazenamento de sua escolha. Você pode fazer referência ao roomId para exibir ou atualizar as propriedades de um room objeto.

Ativar a capacidade de discagem PSTN para uma sala

Cada room um tem a discagem PSTN desabilitada por padrão. A discagem PSTN pode ser habilitada para uma room criação at, definindo o pstnDialOutEnabled parâmetro como true. Esse recurso também pode ser modificado por meio room da emissão de uma solicitação de atualização para o pstnDialOutEnabled parâmetro.

// Create a room
CancellationToken cancellationToken = new CancellationTokenSource().Token;

// CreateRoom or CreateRoomAsync methods to create a room with PSTN dial out capability
bool pstnDialOutEnabled = true;
CreateRoomOptions createRoomOptions = new CreateRoomOptions()
{
    PstnDialOutEnabled = pstnDialOutEnabled,
};

CommunicationRoom createdRoom = await roomsClient.CreateRoomAsync(createRoomOptions, cancellationToken);
Console.WriteLine("\nCreated a room with PSTN dial out enabled: " + createdRoom.PstnDialOutEnabled);

// UpdateRoom or UpdateRoomAsync methods can take UpdateRoomOptions to enable or disable PSTN dial out capability
pstnDialOutEnabled = false;
UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
{
    PstnDialOutEnabled = pstnDialOutEnabled,
};

CommunicationRoom updatedRoom = await roomsClient.UpdateRoomAsync(roomId, updateRoomOptions, cancellationToken);
Console.WriteLine("\nUpdated a room with PSTN dial out enabled: " + updatedRoom.PstnDialOutEnabled);

Obter propriedades de um quarto existente

Recupere os detalhes de um existente room fazendo referência ao roomId:


// Retrieve the room with corresponding ID
CommunicationRoom room = await roomsClient.GetRoomAsync(roomId);
Console.WriteLine("\nRetrieved room with id: " + room.Id);

Atualizar o tempo de vida de um quarto

O tempo de vida de um room pode ser modificado emitindo uma solicitação de atualização para os ValidFrom parâmetros e ValidUntil . Um quarto pode ser válido por um máximo de seis meses.


// Update room lifetime
DateTimeOffset updatedValidFrom = DateTimeOffset.UtcNow;
DateTimeOffset updatedValidUntil = DateTimeOffset.UtcNow.AddDays(10);
CommunicationRoom updatedRoom = await roomsClient.UpdateRoomAsync(roomId, updatedValidFrom, updatedValidUntil, cancellationToken);

// UpdateRoom or UpdateRoomAsync methods can take UpdateRoomOptions type as an input parameter.
bool pstnDialOutEnabled = true;
UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
{
    ValidFrom = validFrom,
    ValidUntil = validUntil,
    PstnDialOutEnabled = pstnDialOutEnabled,
};

updatedRoom = await roomsClient.UpdateRoomAsync(roomId, updateRoomOptions, cancellationToken);
Console.WriteLine("\nUpdated room with validFrom: " + updatedRoom.ValidFrom + ", validUntil: " + updatedRoom.ValidUntil + " and pstnDialOutEnabled: " + updatedRoom.PstnDialOutEnabled);

Listar todos os quartos ativos

Para recuperar todas as salas ativas, use o GetRoomsAsync método exposto no cliente.


// List all active rooms
AsyncPageable<CommunicationRoom> allRooms = roomsClient.GetRoomsAsync();
await foreach (CommunicationRoom currentRoom in allRooms)
{
    Console.WriteLine("\nFirst room id in all active rooms: " + currentRoom.Id);
    break;
}

Adicionar novos participantes ou atualizar participantes existentes

Para adicionar novos participantes a um room, use o AddParticipantsAsync método exposto no cliente.


List<RoomParticipant> addOrUpdateParticipants = new List<RoomParticipant>();
// Update participant2 from Attendee to Consumer
RoomParticipant participant2 = new RoomParticipant(user2) { Role = ParticipantRole.Consumer };
// Add participant3
CommunicationUserIdentifier user3 = identityClient.CreateUser();
RoomParticipant participant3 = new RoomParticipant(user3) { Role = ParticipantRole.Attendee };
addOrUpdateParticipants.Add(participant2);
addOrUpdateParticipants.Add(participant3);

Response addOrUpdateParticipantsResponse = await roomsClient.AddOrUpdateParticipantsAsync(roomId, addOrUpdateParticipants);
Console.WriteLine("\nAdded or updated participants to room");

Os participantes que foram adicionados a um room tornam-se elegíveis para participar em chamadas. Os participantes que foram atualizados verão suas novidades role na chamada.

Obter lista de participantes

Recupere a lista de participantes de um existente room fazendo referência ao roomId:


// Get list of participants in room
AsyncPageable<RoomParticipant> existingParticipants = roomsClient.GetParticipantsAsync(roomId);
Console.WriteLine("\nRetrieved participants from room: ");
await foreach (RoomParticipant participant in existingParticipants)
{
    Console.WriteLine($"{participant.CommunicationIdentifier.ToString()},  {participant.Role.ToString()}");
}

Remover participantes

Para remover um participante de um room e revogar seu acesso, use o RemoveParticipantsAsync método.


// Remove user from room
List<CommunicationIdentifier> removeParticipants = new List<CommunicationIdentifier>();
removeParticipants.Add(user2);

Response removeParticipantsResponse = await roomsClient.RemoveParticipantsAsync(roomId, removeParticipants);
Console.WriteLine("\nRemoved participants from room");

Excluir sala

Se você deseja dissolver um existente room, você pode emitir uma solicitação de exclusão explícita. Todos e os rooms recursos associados são automaticamente eliminados no final da sua validade acrescida de um período de carência.


// Deletes the specified room
Response deleteRoomResponse = await roomsClient.DeleteRoomAsync(roomId);
Console.WriteLine("\nDeleted room with id: " + roomId);

Executar o código

Para executar o código, certifique-se de que está no diretório onde Program.cs se encontra o ficheiro.


dotnet run

A saída esperada descreve cada ação concluída:


Azure Communication Services - Rooms Quickstart

Created a room with id: 99445276259151407

Retrieved room with id: 99445276259151407

Updated room with validFrom: 2023-05-11T22:11:46.784Z, validUntil: 2023-05-21T22:16:46.784Z and pstnDialOutEnabled: true

First room id in all active rooms: 99445276259151407

Added or updated participants to room

Retrieved participants from room:
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e901, Presenter
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-f00d-aa4b-0cf9-9c3a0d00543e, Consumer
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-f00d-aaf2-0cf9-9c3a0d00543f, Attendee

Removed participants from room

Deleted room with id: 99445276259151407

Documentação de referência

Leia sobre o conjunto completo de recursos das salas dos Serviços de Comunicação do Azure a partir da referência do SDK do .NET ou da referência da API REST.

Este guia de início rápido ajuda você a começar a usar as Salas dos Serviços de Comunicação do Azure. A room é um espaço de comunicação gerenciado pelo servidor para que um conjunto fixo e conhecido de participantes colaborem por uma duração predeterminada. A documentação conceitual das salas abrange mais detalhes e casos de uso para rooms.

Pré-requisitos

Código de exemplo

Você pode revisar e baixar o código de exemplo para este início rápido no GitHub.

Configuração

Criar uma nova aplicação Java

Em uma janela de console (como cmd, PowerShell ou Bash), use o mvn comando para criar um novo aplicativo de console com o nome rooms-quickstart. Este comando cria um projeto Java simples "Hello World" com um único arquivo de origem: App.java.

mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

Inclua o pacote

Você precisa usar a biblioteca de cliente do Azure Communication Rooms para Java versão 1.1.0 ou superior.

Incluir o arquivo BOM

Inclua o azure-sdk-bom em seu projeto para depender da versão de disponibilidade geral (GA) da biblioteca. No trecho a seguir, substitua o espaço reservado {bom_version_to_target} pelo número da versão. Para saber mais sobre a lista técnica, consulte o Leiame da lista técnica do SDK do Azure.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

e, em seguida, inclua a dependência direta na seção dependências sem a marca de versão.

<dependencies>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-rooms</artifactId>
  </dependency>
</dependencies>

Incluir dependência direta

Se você quiser depender de uma versão específica da biblioteca que não está presente na lista técnica, adicione a dependência direta ao seu projeto da seguinte maneira.

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-communication-rooms</artifactId>
  <version>1.0.0-beta.1</version>
</dependency>

Configurar a estrutura do aplicativo

Vá para o diretório /src/main/java/com/communication/quickstart e abra o App.java arquivo. Adicione o seguinte código:


package com.communication.rooms.quickstart;

import com.azure.communication.common.*;
import com.azure.communication.identity.*;
import com.azure.communication.identity.models.*;
import com.azure.core.credential.*;
import com.azure.communication.rooms.*;

import java.io.IOException;
import java.time.*;
import java.util.*;

public class App
{
    public static void main( String[] args ) throws IOException
    {
        System.out.println("Azure Communication Services - Rooms Quickstart");
        // Quickstart code goes here
    }
}

Inicializar um cliente de sala

Crie um novo RoomsClient objeto que será usado para criar novos rooms e gerenciar suas propriedades e ciclo de vida. A cadeia de conexão do seu Communications Service será usada para autenticar a solicitação. Para obter mais informações sobre cadeias de conexão, consulte esta página.


// Initialize the rooms client
// Find your Communication Services resource in the Azure portal
String connectionString = "<connection string>";
RoomsClient roomsClient = new RoomsClientBuilder().connectionString(connectionString).buildClient();

Criar uma sala

Configurar participantes da sala

Para configurar quem pode entrar em uma sala, você precisa ter a lista das identidades desses usuários. Você pode seguir as instruções aqui para criar usuários e emitir tokens de acesso. Como alternativa, se você quiser criar os usuários sob demanda, poderá criá-los usando o CommunicationIdentityClient. Atualmente, o ACS Rooms suporta apenas um participante de sala do tipo CommunicationUserIdentifier, o uso de outros tipos de CommunicationIdentity resultará em um erro de tempo de execução.

Para usar CommunicationIdentityCliento , adicione o seguinte pacote:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-identity</artifactId>
</dependency>

Importe o pacote na parte superior do seu App.java arquivo:

import com.azure.communication.identity.CommunicationIdentityClient;
import com.azure.communication.identity.CommunicationIdentityClientBuilder;

Agora, o CommunicationIdentityClient pode ser inicializado e usado para criar usuários:

CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
    .connectionString(connectionString)
    .buildClient();

CommunicationUserIdentifier user1 = communicationClient.createUser();
CommunicationUserIdentifier user2 = communicationClient.createUser();
CommunicationUserIdentifier user3 = communicationClient.createUser();

Em seguida, crie a lista de participantes da sala fazendo referência a esses usuários:

//The default participant role is ParticipantRole.Attendee
RoomParticipant participant_1 = new RoomParticipant(user1);
RoomParticipant participant_2 = new RoomParticipant(user2);
RoomParticipant participant_3 = new RoomParticipant(user3);

List<RoomParticipant> roomParticipants = new ArrayList<RoomParticipant>();

roomParticipants.add(participant_1);
roomParticipants.add(participant_2.setRole(ParticipantRole.CONSUMER));

Inicializar a sala

Crie um novo room usando o roomParticipants definido no trecho de código acima:

OffsetDateTime validFrom = OffsetDateTime.now();
OffsetDateTime validUntil = validFrom.plusDays(30);
boolean pstnDialOutEnabled = false;

CreateRoomOptions createRoomOptions = new CreateRoomOptions()
    .setValidFrom(validFrom)
    .setValidUntil(validUntil)
    .setPstnDialOutEnabled(pstnDialOutEnabled)
    .setParticipants(roomParticipants);

CommunicationRoom roomCreated = roomsClient.createRoom(createRoomOptions);

System.out.println("\nCreated a room with id: " + roomCreated.getRoomId());

Como rooms são entidades do lado do servidor, convém acompanhar e persistir no roomId meio de armazenamento de sua escolha. Você pode fazer referência ao roomId para exibir ou atualizar as propriedades de um room objeto.

Ativar a capacidade de discagem PSTN para uma sala

Cada room um tem a discagem PSTN desabilitada por padrão. A discagem PSTN pode ser habilitada para uma room criação at, definindo o pstnDialOutEnabled parâmetro como true. Esse recurso também pode ser modificado por meio room da emissão de uma solicitação de atualização para o pstnDialOutEnabled parâmetro.

boolean pstnDialOutEnabled = true;
// Create a room with PSTN dial out capability
CreateRoomOptions createRoomOptions = new CreateRoomOptions()
    .setPstnDialOutEnabled(pstnDialOutEnabled)

CommunicationRoom roomCreated = roomsClient.createRoom(createRoomOptions);
System.out.println("\nCreated a room with PSTN dial out enabled: " + roomCreated.getPstnDialOutEnabled());

// Update a room to enable or disable PSTN dial out capability
pstnDialOutEnabled = false;
UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
    .setPstnDialOutEnabled(pstnDialOutEnabled);

CommunicationRoom roomUpdated = roomsClient.updateRoom(roomId, updateRoomOptions);
System.out.println("\nUpdated a room with PSTN dial out enabled: " + roomUpdated.getPstnDialOutEnabled());

Obter propriedades de um quarto existente

Recupere os detalhes de um existente room fazendo referência ao roomId:


// Retrieve the room with corresponding ID
CommunicationRoom roomResult = roomsClient.getRoom(roomId);

System.out.println("Retrieved room with id: " + roomResult.getRoomId());

Atualizar o tempo de vida de um quarto

O tempo de vida de um room pode ser modificado emitindo uma solicitação de atualização para os ValidFrom parâmetros e ValidUntil . Um quarto pode ser válido por um máximo de seis meses.


OffsetDateTime validFrom = OffsetDateTime.now().plusDays(1);
OffsetDateTime validUntil = validFrom.plusDays(1);
boolean pstnDialOutEnabled = true;

UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
    .setValidFrom(validFrom)
    .setValidUntil(validUntil)
    .setPstnDialOutEnabled(pstnDialOutEnabled);

CommunicationRoom roomResult = roomsClient.updateRoom(roomId, updateRoomOptions);

System.out.println("Updated room with validFrom: " + roomResult.getValidFrom() + ", validUntil: " + roomResult.getValidUntil() + " and pstnDialOutEnabled: " + roomResult.getPstnDialOutEnabled());

Adicionar ou atualizar participantes

Para adicionar ou atualizar participantes a um room, use o addOrUpdateParticipants método exposto no cliente.


List<RoomParticipant> participantsToAddAOrUpdate = new ArrayList<>();

// Adding new participant
 participantsToAddAOrUpdate.add(participant_3.setRole(ParticipantRole.CONSUMER));

// Updating current participant
participantsToAddAOrUpdate.add(participant_2.setRole(ParticipantRole.PRESENTER));

AddOrUpdateParticipantsResult addOrUpdateParticipantsResult = roomsClient.addOrUpdateParticipants(roomId, participantsToAddAOrUpdate);

System.out.println("Participant(s) added/updated");

Os participantes que foram adicionados a um room tornam-se elegíveis para participar em chamadas.

Obter lista de participantes

Recupere a lista de participantes de um existente room fazendo referência ao roomId:


// Get list of participants
try {

PagedIterable<RoomParticipant> participants = roomsClient.listParticipants(roomId);

System.out.println("Participants:/n");

for (RoomParticipant participant : participants) {
    System.out.println(participant.getCommunicationIdentifier().getRawId() + " (" + participant.getRole() + ")");
   }
} catch (Exception ex) {
    System.out.println(ex);
}

Remover participantes

Para remover um participante de um room e revogar seu acesso, use o removeParticipants método.


// Remove a participant from the room
List<CommunicationIdentifier> participantsToRemove = new ArrayList<>();

participantsToRemove.add(participant_3.getCommunicationIdentifier());

RemoveParticipantsResult removeParticipantsResult = roomsClient.removeParticipants(roomId,participantsToRemove);

System.out.println("Participant(s) removed");

Listar todos os quartos ativos

Recupere todos os ativos rooms em seu recurso dos Serviços de Comunicação do Azure.

try {
    Iterable<PagedResponse<CommunicationRoom>> roomPages = roomsClient.listRooms().iterableByPage();

    System.out.println("Listing all the rooms IDs in the first two pages of the list of rooms:");

    int count = 0;
    for (PagedResponse<CommunicationRoom> page : roomPages) {
        for (CommunicationRoom room : page.getElements()) {
            System.out.println("\n" + room.getRoomId());
        }

        count++;
        if (count >= 2) {
            break;
        }
    }
} catch (Exception ex) {
    System.out.println(ex);
}

Excluir sala

Se você deseja dissolver um existente room, você pode emitir uma solicitação de exclusão explícita. Todos e os rooms recursos associados são automaticamente eliminados no final da sua validade acrescida de um período de carência.


// Deletes the specified room
roomsClient.deleteRoomWithResponse(roomId, Context.NONE);
System.out.println("\nDeleted the room with ID: " + roomId);

Executar o código

Para executar o código, vá para o diretório que contém o pom.xml arquivo e compile o programa.


mvn compile

Em seguida, compile o pacote:


mvn package

Execute o aplicativo.

mvn exec:java -D"exec.mainClass"="com.communication.rooms.quickstart" -D"exec.cleanupDaemonThreads"="false"

A saída esperada descreve cada ação concluída:


Azure Communication Services - Rooms Quickstart

Created a room with id:  99445276259151407

Retrieved room with id:  99445276259151407

Updated room with validFrom: 2023-05-11T22:11:46.784Z, validUntil: 2023-05-11T22:16:46.784Z and pstnDialOutEnabled: true

Participant(s) added/updated

Participants:
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e901 (Attendee)
8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e902 (Consumer)

Participant(s) removed

Listing all the rooms IDs in the first two pages of the list of rooms: 
99445276259151407
99445276259151408
99445276259151409

Deleted the room with ID:  99445276259151407

Documentação de referência

Leia sobre o conjunto completo de recursos das salas dos Serviços de Comunicação do Azure a partir da referência do Java SDK ou da API REST.

Este guia de início rápido ajuda você a começar a usar as Salas dos Serviços de Comunicação do Azure. A room é um espaço de comunicação gerenciado pelo servidor para que um conjunto fixo e conhecido de participantes colaborem por uma duração predeterminada. A documentação conceitual das salas abrange mais detalhes e casos de uso para rooms.

Pré-requisitos

Código de exemplo

Você pode revisar e baixar o código de exemplo para este início rápido no GitHub.

Configuração

Criar uma aplicação Python nova

Em uma janela de terminal ou console, crie uma nova pasta para seu aplicativo e navegue até ela.

mkdir acs-rooms-quickstart
cd acs-rooms-quickstart

Instalar o pacote

Você precisa usar a biblioteca de cliente do Azure Communication Rooms para Python versão 1.1.0 ou superior.

Em um prompt do console, navegue até o diretório que contém o arquivo rooms.py e execute o seguinte comando:

pip install azure-communication-rooms

Configurar a estrutura do aplicativo

Crie um novo arquivo chamado rooms-quickstart.py e adicione a estrutura básica do programa.

import os
from datetime import datetime, timedelta
from azure.core.exceptions import HttpResponseError
from azure.communication.rooms import (
    RoomsClient,
    RoomParticipant,
    ParticipantRole
)

class RoomsQuickstart(object):
    print("Azure Communication Services - Rooms Quickstart")
    #room method implementations goes here

if __name__ == '__main__':
    rooms = RoomsQuickstart()

Inicializar um cliente de sala

Crie um novo RoomsClient objeto que será usado para criar novos rooms e gerenciar suas propriedades e ciclo de vida. A cadeia de conexão do seu Communications Service será usada para autenticar a solicitação. Para obter mais informações sobre cadeias de conexão, consulte esta página.

#Find your Communication Services resource in the Azure portal
connection_string = '<connection_string>'
rooms_client = RoomsClient.from_connection_string(connection_string)

Criar uma sala

Configurar participantes da sala

Para configurar quem pode entrar em uma sala, você precisará ter a lista das identidades desses usuários. Você pode seguir as instruções aqui para criar usuários e emitir tokens de acesso. Como alternativa, se você quiser criar os usuários sob demanda, poderá criá-los usando o CommunicationIdentityClient. Atualmente, o ACS Rooms suporta apenas um participante de sala do tipo CommunicationUserIdentifier, o uso de outros tipos de CommunicationIdentity resultará em um erro de tempo de execução.

Para usar o CommunicationIdentityClient, instale o seguinte pacote:

pip install azure-communication-identity

Além disso, importe o namespace do pacote na parte superior do rooms-quickstart.py arquivo:

from azure.communication.identity import (
    CommunicationIdentityClient
)

Agora, o CommunicationIdentityClient pode ser inicializado e usado para criar usuários:

# Create identities for users who will join the room
identity_client = CommunicationIdentityClient.from_connection_string(connection_string)
user1 = identity_client.create_user()
user2 = identity_client.create_user()
user3 = identity_client.create_user()

Em seguida, crie a lista de participantes da sala fazendo referência a esses usuários:

participant_1 = RoomParticipant(communication_identifier=user1, role=ParticipantRole.PRESENTER)
participant_2 = RoomParticipant(communication_identifier=user2, role=ParticipantRole.CONSUMER)
participants = [participant_1, participant_2]

Inicializar a sala

Crie um novo room usando o participants definido no trecho de código acima:

# Create a room
valid_from = datetime.now()
valid_until = valid_from + timedelta(weeks=4)
pstn_dial_out_enabled = False

try:
    create_room = rooms_client.create_room(
        valid_from=valid_from,
        valid_until=valid_until,
        pstn_dial_out_enabled=pstn_dial_out_enabled,
        participants=participants
    )
    print("\nCreated a room with id: " + create_room.id)
except HttpResponseError as ex:
    print(ex)

Como rooms são entidades do lado do servidor, convém acompanhar e persistir no room.id meio de armazenamento de sua escolha. Você pode fazer referência ao id para exibir ou atualizar as propriedades de um room objeto.

Ativar a capacidade de discagem PSTN para uma sala

Cada room um tem a discagem PSTN desabilitada por padrão. A discagem PSTN pode ser habilitada para uma room criação at, definindo o pstn_dial_out_enabled parâmetro como true. Esse recurso também pode ser modificado por meio room da emissão de uma solicitação de atualização para o pstn_dial_out_enabled parâmetro.

# Create a room with PSTN dial out capability
pstn_dial_out_enabled = True
create_room = rooms_client.create_room(pstn_dial_out_enabled=pstn_dial_out_enabled)
print("\nCreated room with pstn_dial_out_enabled: " + updated_room.pstn_dial_out_enabled)

# Update a room to enable or disable PSTN dial out capability
pstn_dial_out_enabled= False
updated_room = rooms_client.update_room(room_id=room_id, pstn_dial_out_enabled=pstn_dial_out_enabled)
print("\nUpdated room with pstn_dial_out_enabled: " + updated_room.pstn_dial_out_enabled)

Obter propriedades de um quarto existente

Recupere os detalhes de um existente room fazendo referência ao id:

# Retrieves the room with corresponding ID
room_id = create_room.id
try:
    get_room = rooms_client.get_room(room_id=room_id)
    print("\nRetrieved room with id: ", get_room.id)
except HttpResponseError as ex:
    print(ex)

Atualizar o tempo de vida de um quarto

O tempo de vida de um room pode ser modificado emitindo uma solicitação de atualização para os valid_from parâmetros e valid_until . Um quarto pode ser válido por um máximo de seis meses.

# Update the lifetime of a room
valid_from =  datetime.now()
valid_until = valid_from + timedelta(weeks=7)
pstn_dial_out_enabled=True

try:
    updated_room = rooms_client.update_room(room_id=room_id, valid_from=valid_from, valid_until=valid_until, pstn_dial_out_enabled=pstn_dial_out_enabled)
     print("\nUpdated room with validFrom: " + updated_room.valid_from + ", validUntil: " + updated_room.valid_until + " and pstn_dial_out_enabled: " + updated_room.pstn_dial_out_enabled)
except HttpResponseError as ex:
    print(ex)

Listar todos os quartos ativos

Para recuperar todas as salas ativas criadas sob seu recurso, use o list_rooms método exposto no cliente.

# List all active rooms
try:
    rooms = rooms_client.list_rooms()
    count = 0
    for room in rooms:
        if count == 1:
            break
        print("\nPrinting the first room in list"
            "\nRoom Id: " + room.id +
            "\nCreated date time: " + str(room.created_at) +
            "\nValid From: " + str(room.valid_from) + 
            "\nValid Until: " + str(room.valid_until) +
            "\nPSTN Dial-Out Enabled: " + str(room.pstn_dial_out_enabled))
        count += 1
except HttpResponseError as ex:
    print(ex)

Adicionar ou atualizar participantes

Para adicionar novos participantes ou atualizar participantes existentes em um room, use o add_or_update_participants método exposto no cliente.

# Add or update participants in a room
try:
    # Update existing user2 from consumer to attendee
    participants = []
    participants.append(RoomParticipant(communication_identifier=user2, role=ParticipantRole.ATTENDEE))

    # Add new participant user3
    participants.append(RoomParticipant(communication_identifier=user3, role=ParticipantRole.CONSUMER))
    rooms_client.add_or_update_participants(room_id=room_id, participants=participants)
    print("\nAdd or update participants in room")

except HttpResponseError as ex:
    print('Error in adding or updating participants to room.', ex)

Os participantes que foram adicionados a um room tornam-se elegíveis para participar em chamadas.

Listar participantes em uma sala

Recupere a lista de participantes de um existente room fazendo referência ao room_id:

# Get list of participants in room
try:
    participants = rooms_client.list_participants(room_id)
    print('\nParticipants in Room Id :', room_id)
    for p in participants:
        print(p.communication_identifier.properties['id'], p.role)
except HttpResponseError as ex:
    print(ex)

Remover participantes

Para remover um participante de um room e revogar seu acesso, use o remove_participants método.

# Remove Participants
try:
    participants = [user2]
    rooms_client.remove_participants(room_id=room_id, participants=participants)
    print("\nRemoved participants from room")

except HttpResponseError as ex:
    print(ex)

Excluir sala

Se você deseja dissolver um existente room, você pode emitir uma solicitação de exclusão explícita. Todos e os rooms recursos associados são automaticamente eliminados no final da sua validade acrescida de um período de carência.

# Delete Room

rooms_client.delete_room(room_id=room_id)
print("\nDeleted room with id: " + room_id)

Executar o código

Para executar o código, certifique-se de que está no diretório onde rooms-quickstart.py se encontra o ficheiro.


python rooms-quickstart.py

A saída esperada descreve cada ação concluída:


Azure Communication Services - Rooms Quickstart

Created a room with id:  99445276259151407

Retrieved room with id:  99445276259151407

Updated room with validFrom: 2023-05-03T00:00:00+00:00, validUntil: 2023-06-23T00:00:00+00:00 and pstn_dial_out_enabled: True

Printing the first room in list
Room Id: 99445276259151407
Created date time: 2023-05-03T00:00:00+00:00
Valid From: 2023-05-03T00:00:00+00:00
Valid Until: 2023-06-23T00:00:00+00:00
PSTN Dial-Out Enabled: True

Add or update participants in room

Participants in Room Id : 99445276259151407
8:acs:42a0ff0c-356d-4487-a288-ad0aad95d504_00000018-ef00-6042-a166-563a0d0051c1 Presenter
8:acs:42a0ff0c-356d-4487-a288-ad0aad95d504_00000018-ef00-6136-a166-563a0d0051c2 Consumer
8:acs:42a0ff0c-356d-4487-a288-ad0aad95d504_00000018-ef00-61fd-a166-563a0d0051c3 Attendee

Removed participants from room

Deleted room with id: 99445276259151407

Documentação de referência

Leia sobre o conjunto completo de recursos das salas dos Serviços de Comunicação do Azure na referência do SDK do Python ou na referência da API REST.

Este guia de início rápido ajuda você a começar a usar as Salas dos Serviços de Comunicação do Azure. A room é um espaço de comunicação gerenciado pelo servidor para que um conjunto fixo e conhecido de participantes colaborem por uma duração predeterminada. A documentação conceitual das salas abrange mais detalhes e casos de uso para rooms.

Pré-requisitos

  • Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
  • Um recurso ativo dos Serviços de Comunicação e uma cadeia de conexão. Crie um recurso de Serviços de Comunicação.
  • As versões mais recentes do Node.js Ative LTS e Maintenance LTS.

Código de exemplo

Você pode revisar e baixar o código de exemplo para este início rápido no GitHub.

Configuração

Criar um novo aplicativo Web

Em uma janela de terminal ou console, crie uma nova pasta para seu aplicativo e navegue até ela.

mkdir acs-rooms-quickstart && cd acs-rooms-quickstart

Execute npm init para criar um arquivo package.json com as configurações padrão.

npm init -y

Crie um novo arquivo index.js onde o código para este início rápido será adicionado.

Instalar os pacotes

Você precisa usar a biblioteca de cliente do Azure Communication Rooms para JavaScript versão 1.1.0 ou superior.

Use o npm install comando para instalar os SDKs de Serviços de Comunicação para JavaScript abaixo.

npm install @azure/communication-rooms --save

Configurar a estrutura do aplicativo

index.js No arquivo, adicione o código a seguir. Vamos adicionar o código para o início rápido na main função.

const { RoomsClient } = require('@azure/communication-rooms');

const main = async () => {
  console.log("Azure Communication Services - Rooms Quickstart")

  // Quickstart code goes here

};

main().catch((error) => {
  console.log("Encountered an error");
  console.log(error);
})

Inicializar um cliente de sala

Crie um novo RoomsClient objeto que será usado para criar novos rooms e gerenciar suas propriedades e ciclo de vida. A cadeia de conexão do seu Communications Service será usada para autenticar a solicitação. Para obter mais informações sobre cadeias de conexão, consulte esta página.

Adicione o seguinte código dentro index.js da main função.

const connectionString =
    process.env["COMMUNICATION_CONNECTION_STRING"] ||
    "endpoint=https://<resource-name>.communication.azure.com/;<access-key>";

// create RoomsClient
const roomsClient = new RoomsClient(connectionString);

Criar uma sala

Configurar participantes da sala

Para configurar quem pode entrar em uma sala, você precisa ter a lista das identidades desses usuários. Você pode seguir as instruções aqui para criar usuários e emitir tokens de acesso. Como alternativa, se você quiser criar os usuários sob demanda, poderá criá-los usando o CommunicationIdentityClient. Atualmente, o ACS Rooms suporta apenas um participante de sala do tipo CommunicationUserIdentifier, o uso de outros tipos de CommunicationIdentity resultará em um erro de tempo de execução.

Para usar o CommunicationIdentityClient, instale o seguinte pacote npm:

npm install @azure/communication-identity --save

Além disso, adicione o seguinte pacote necessário na parte superior do seu index.js arquivo:

const { CommunicationIdentityClient } = require('@azure/communication-identity');

Agora, o CommunicationIdentityClient pode ser inicializado e usado para criar usuários:

// create identities for users
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
const user2 = await identityClient.createUserAndToken(["voip"]);

Em seguida, crie a lista de participantes da sala fazendo referência a esses usuários:

const participants = [
  {
      id: user1.user,
      role: "Presenter",
  },
  {
    id: user2.user,
    role: "Consumer",
  }
]

Inicializar a sala

Crie um novo room usando o participants definido no trecho de código acima:

// Create a room
var validFrom = new Date(Date.now());
var validUntil = new Date(validFrom.getTime() + 60 * 60 * 1000);
var pstnDialOutEnabled = false;

const createRoomOptions = {
  validFrom,
  validUntil,
  pstnDialOutEnabled,
  participants
};

const createRoom = await roomsClient.createRoom(createRoomOptions);
const roomId = createRoom.id;
console.log("\nCreated a room with id: ", roomId);

Como rooms são entidades do lado do servidor, convém acompanhar e persistir no roomId meio de armazenamento de sua escolha. Você pode fazer referência ao roomId para exibir ou atualizar as propriedades de um room objeto.

Ativar a capacidade de discagem PSTN para uma sala

Cada room um tem a discagem PSTN desabilitada por padrão. A discagem PSTN pode ser habilitada para uma room criação at, definindo o pstnDialOutEnabled parâmetro como true. Esse recurso também pode ser modificado por meio room da emissão de uma solicitação de atualização para o pstnDialOutEnabled parâmetro.

// Create a room with PSTN dial out capability
var pstnDialOutEnabled = true;
const createRoomOptions = {
  pstnDialOutEnabled,
};

const createRoom = await roomsClient.createRoom(createRoomOptions);
console.log("\nCreated a room with PSTN dial out enabled: ", createRoom.pstnDialOutEnabled);

// Update a room to enable or disable PSTN dial out capability
pstnDialOutEnabled = false;
const updateRoomOptions = {
  pstnDialOutEnabled,
};

const updateRoom = await roomsClient.updateRoom(roomId, updateRoomOptions);
console.log("\nUpdated a room with PSTN dial out enabled: ", updateRoom.pstnDialOutEnabled);

Obter propriedades de um quarto existente

Recupere os detalhes de um existente room fazendo referência ao roomId:

// Retrieve the room with corresponding ID
const getRoom = await roomsClient.getRoom(roomId);
console.log("\nRetrieved room with id: ", getRoom.id);

Atualizar o tempo de vida de um quarto

O tempo de vida de um room pode ser modificado emitindo uma solicitação de atualização para os validFrom parâmetros e validUntil . Um quarto pode ser válido por um máximo de seis meses.

// Update room lifetime
validFrom.setTime(validUntil.getTime());
validUntil.setTime(validFrom.getTime() + 5 * 60 * 1000);
pstnDialOutEnabled = true;
// request payload to update a room
const updateRoomOptions = {
  validFrom,
  validUntil,
  pstnDialOutEnabled,
};

const updateRoom = await roomsClient.updateRoom(roomId, updateRoomOptions);
console.log("\nUpdated room with validFrom: ", updateRoom.validFrom, ", validUntil: ", updateRoom.validUntil, " and pstnDialOutEnabled: ", updateRoom.pstnDialOutEnabled);

Obter lista de quartos

Recupere sua lista de quartos usando o listRooms método:

const roomsList = await roomsClient.listRooms();
console.log("\nRetrieved list of rooms; printing first room:");
for await (const currentRoom of roomsList) {
  // access room data here
  console.log(currentRoom);
  break;
}

Adicionar ou atualizar participantes

Para adicionar novos participantes a um room, use o addOrUpdateParticipants método exposto no cliente. Este método também atualizará um participante se ele já existir na sala.

// Add and update participants
// request payload to add and update participants
const addOUpdateParticipantsList = [
  {
      id: user1.user,
      role: "Presenter",
  },
  {
    id: user2.user,
    role: "Consumer",
  }
]

// add user2 to the room and update user1 to Presenter role
await roomsClient.addOrUpdateParticipants(roomId, addOUpdateParticipantsList);
console.log("\nAdded and updated participants in the room");

Os participantes que foram adicionados a um room tornam-se elegíveis para participar em chamadas.

Obter lista de participantes

Recupere a lista de participantes de um existente room fazendo referência ao roomId:

const participantsList = await roomsClient.listParticipants(roomId);
console.log("\nRetrieved participants for room:");
for await (const participant of participantsList) {
  // access participant data here
  console.log(participant);
}

Remover participantes

Para remover um participante de um room e revogar seu acesso, use o removeParticipants método.

// Remove both users from the room
const removeParticipantsList = [user1.user, user2.user]

// remove both users from the room with the request payload
await roomsClient.removeParticipants(roomId, removeParticipantsList);
console.log("\nRemoved participants from room");

Excluir sala

Se você deseja dissolver um existente room, você pode emitir uma solicitação de exclusão explícita. Todos e os rooms recursos associados são automaticamente eliminados no final da sua validade acrescida de um período de carência.

// Deletes the specified room
await roomsClient.deleteRoom(roomId);
console.log("\nDeleted room with id: ", roomId)

Executar o código

Para executar o código, certifique-se de que está no diretório onde index.js se encontra o ficheiro.

node index.js

A saída esperada descreve cada ação concluída:

Azure Communication Services - Rooms QuickStart

Created a room with id:  99445276259151407

Retrieved room with id:  99445276259151407

Updated room with validFrom:  2023-05-11T22:11:46.784Z, validUntil:  2023-05-11T22:16:46.784Z and pstnDialOutEnabled: true

Retrieved list of rooms; printing first room:

{
  id: "99445276259151407",
  createdAt: "2023-05-11T22:11:50.784Z",
  validFrom: "2023-05-11T22:11:46.784Z",
  validUntil: "2023-05-11T22:16:46.784Z"
}

Added and updated participants in the room

Retrieved participants for room:
{
  id: {
    kind: 'communicationUser',
    communicationUserId: '8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7c76-35f3-343a0d00e901'
  },
  role: 'Presenter'
}
{
  id: {
    kind: 'communicationUser',
    communicationUserId: '8:acs:b6aada1f-0b1d-47ac-866f-91aae00a1d01_00000018-ac89-7ccc-35f3-343a0d00e902'
  },
  role: 'Consumer'
}

Removed participants from room

Deleted room with id:  99445276259151407

Documentação de referência

Leia sobre o conjunto completo de recursos das salas dos Serviços de Comunicação do Azure a partir da referência do SDK do JavaScript ou da referência da API REST.

Próximos passos

Você pode aprender como participar de uma chamada de salas depois de criar e configurar a sala.

Nesta seção, você aprendeu como:

  • Criar uma nova sala
  • Obter as propriedades de um quarto
  • Atualizar as propriedades de uma sala
  • Excluir uma sala

Você também pode querer: