Guida introduttiva: Creare e gestire una risorsa room

Questa guida introduttiva consente di iniziare a usare Servizi di comunicazione di Azure Rooms. Un room è uno spazio di comunicazione gestito dal server per un set di partecipanti noto e fisso per collaborare per una durata predeterminata. La documentazione concettuale delle sale illustra altri dettagli e casi d'uso per rooms.

Modello a oggetti

Nella tabella seguente sono elencate le proprietà principali degli room oggetti:

Nome Descrizione
roomId Identificatore univoco room .
validFrom È possibile usare la prima volta che un oggetto room può essere usato.
validUntil Ora più recente è possibile usare un oggetto room .
pstnDialOutEnabled Abilitare o disabilitare la chiamata in uscita a un numero PSTN in una stanza.
participants Elenco di partecipanti a un oggetto room. Specificato come .CommunicationUserIdentifier
roleType Ruolo di un partecipante alla sala. Può essere Presenter, Attendeeo Consumer.

Prerequisiti

Configurazione

Aggiungere l'estensione

Aggiungere l'estensione Servizi di comunicazione di Azure per l'interfaccia della riga di comando di Azure usando il comando az extension.

az extension add --name communication

Accedere all'interfaccia della riga di comando di Azure

È necessario accedere all'interfaccia della riga di comando di Azure. È possibile accedere eseguendo il az login comando dal terminale e specificando le credenziali.

Archiviare la stringa di connessione in una variabile di ambiente

È possibile configurare la variabile di ambiente AZURE_COMMUNICATION_CONNECTION_STRING per usare le operazioni principali dell'interfaccia della riga di comando di Azure senza dover usare --connection_string per passare la stringa di connessione. Per configurare una variabile di ambiente, aprire una finestra della console e selezionare il sistema operativo dalle schede seguenti. Sostituire <connectionString> con la stringa di connessione effettiva.

setx AZURE_COMMUNICATION_CONNECTION_STRING "<connectionString>"

Dopo aver aggiunto la variabile di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che devono leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Operazioni

Creare una sala

Usare il rooms create comando per creare una stanza.

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>"
  • Usare <participantId> facoltativamente per specificare il tipo di partecipante come partecipanti al relatore, partecipanti al consumer o partecipanti. Se non si specifica un valore, il valore predefinito è vuoto.
  • Sostituire <connection-string> con il Servizi di comunicazione di Azure stringa di connessione.
  • Usare <valid-from> facoltativamente per specificare il timestamp quando la stanza è aperta per l'unione, in formato ISO8601, ad esempio 2022-07-14T10:21.
  • Usare <valid-until> facoltativamente per specificare il timestamp quando la stanza non può più essere unita, in formato ISO8601, ad esempio 2022-07-14T10:21.
  • Usare <pstn-dial-out-enabled> facoltativamente impostando questo flag ("True" o "False") per abilitare o disabilitare la chiamata PSTN per una stanza. Per impostazione predefinita, questo flag è impostato su "False" durante la creazione di una stanza.

Se le stringa di connessione sono state archiviate nelle variabili di ambiente come indicato in precedenza, non sarà necessario passarle al comando.

az communication rooms create 

Abilitare la funzionalità di chiamata telefonica PSTN per una stanza

La chiamata PSTN può essere abilitata durante rooms create la definizione del --pstn-dial-out-enabled parametro come "True". Questa funzionalità può essere modificata anche durante rooms update specificando il --pstn-dial-out-enabled parametro .

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>"
  • Per abilitare o disabilitare la connessione remota PSTN per una stanza, impostare <pstn-dial-out-enabled> il flag ("True" o "False").

Ottenere le camere

Il rooms get comando restituisce gli attributi di una stanza esistente.

az communication rooms get --room "<roomId>" 
  • Sostituire <roomId> con l'ID sala.

Aggiornare l'intervallo di tempo di una stanza

È possibile aggiornare il timestamp di una stanza. Prima di chiamare il room update comando, assicurarsi di aver acquisito una nuova sala con un intervallo di tempo valido.

az communication rooms update --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
  • Sostituire <valid-from> con il timestamp nel formato ISO8601, ad esempio 2022-07-14T10:21, per specificare quando la stanza è aperta per l'aggiunta. Deve essere usato insieme a --valid-until.
  • Sostituire <valid-until> con il timestamp nel formato ISO8601, ad esempio 2022-07-14T10:21, per specificare quando la stanza non può più essere unita. Deve essere usato insieme a --valid-from.
  • Sostituire <pstn-dial-out-enabled> impostare questo flag ("True" o "False") per abilitare o disabilitare la chiamata PSTN per una stanza. Deve essere usato insieme a --pstn-dial-out-enabled.
  • Sostituire <roomId> con l'ID sala.

Elencare tutte le sale attive

Il rooms list comando restituisce tutte le sale attive appartenenti alla risorsa Servizi di comunicazione di Azure.

az communication rooms list

Aggiungere nuovi partecipanti o aggiornare i partecipanti esistenti

Quando si crea una sala, è possibile aggiornare la sala aggiungendo un nuovo partecipante o aggiornando un partecipante esistente. Prima di chiamare il room participant add-or-update comando, assicurarsi di aver acquisito un nuovo utente.

Usare il identity user create comando per creare un nuovo partecipante, identificato da participantId.

az communication identity user create

Aggiungere un utente come partecipante alla sala.

az communication rooms participant add-or-update --attendee-participant "<participantId>" --room "<roomId>"
  • Sostituire <participantId> con l'ID partecipante. Se l'oggetto <participantId> non esiste nella sala, il partecipante verrà aggiunto alla sala come ruolo partecipante. In caso contrario, il ruolo del partecipante viene aggiornato a un ruolo partecipante.
  • Sostituire <roomId> con l'ID sala.

Ottenere l'elenco dei partecipanti in una sala

az communication rooms participant get --room "<roomId>"
  • Sostituire <roomId> con l'ID sala.

Rimuovere un partecipante da una sala

È possibile rimuovere un partecipante alla sala da una stanza usando rooms participant -remove.

az communication rooms participant remove --room "<roomId>" --participants "<participant1>" "<participant2>" "<participant3>"
  • Sostituire <roomId> con l'ID sala.
  • Sostituire <participant1>, <participant2>, <participant3> con gli ID utente ottenuti in precedenza con il comando in esecuzione identity user create.

Eliminare una stanza

Analogamente alla creazione di una stanza, è anche possibile eliminare una stanza.

Usare room delete il comando per eliminare la stanza esistente.

az communication rooms delete --room "<roomId>"
  • Sostituire <roomId> con l'ID sala.

Questa guida introduttiva consente di iniziare a usare Servizi di comunicazione di Azure Rooms. Un room è uno spazio di comunicazione gestito dal server per un set di partecipanti noto e fisso per collaborare per una durata predeterminata. La documentazione concettuale delle sale illustra altri dettagli e casi d'uso per rooms.

Prerequisiti

Codice di esempio

È possibile esaminare e scaricare il codice di esempio per questa guida introduttiva in GitHub.

Configurazione

Creare una nuova applicazione C#

In una finestra di una console, ad esempio cmd, PowerShell o Bash, usare il comando dotnet new per creare una nuova app console con il nome RoomsQuickstart. Questo comando crea un semplice progetto C# "Hello World" con un singolo file di origine: Program.cs.

dotnet new console -o RoomsQuickstart

Passare alla cartella dell'app appena creata e usare il comando dotnet build per compilare l'applicazione.

cd RoomsQuickstart
dotnet build

Installare il pacchetto

Installare la libreria client di Azure Communication Rooms per .NET con [NuGet][https://www.nuget.org/]:

dotnet add package Azure.Communication.Rooms

Sarà necessario usare la libreria client di Azure Communication Rooms per .NET versione 1.1.0 o successiva.

Configurare il framework dell'app

Program.cs Nel file aggiungere il codice seguente per importare gli spazi dei nomi necessari e creare la struttura del programma di base.


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
        }
    }
}

Inizializzare un client sala

Creare un nuovo RoomsClient oggetto che verrà usato per creare nuove rooms proprietà e ciclo di vita. Il stringa di connessione dell'utente Communications Service verrà usato per autenticare la richiesta. Per altre informazioni sulle stringa di connessione, vedere questa pagina.


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

Creare una sala

Configurare i partecipanti alla sala

Per configurare chi può partecipare a una sala, è necessario avere l'elenco delle identità di tali utenti. È possibile seguire le istruzioni riportate qui per la creazione di utenti e l'emissione di token di accesso. In alternativa, se si desidera creare gli utenti su richiesta, è possibile crearli usando .CommunicationIdentityClient ACS Rooms supporta attualmente un partecipante della sala di tipo Solo CommunicationUserIdentifier, l'uso di altri tipi di CommunicationIdentity genererà un errore di runtime.

Per usare CommunicationIdentityClient, installare il pacchetto seguente:

dotnet add package Azure.Communication.Identity

Importare anche lo spazio dei nomi del pacchetto nella parte superiore del Program.cs file:

using Azure.Communication.Identity;

CommunicationIdentityClient È ora possibile inizializzare e usare per creare utenti:

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

Creare quindi l'elenco dei partecipanti alla sala facendo riferimento a tali utenti:

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

Inizializzare la stanza

Creare un nuovo room oggetto usando l'oggetto participants definito nel frammento di codice precedente:

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

Poiché rooms sono entità lato server, è consigliabile tenere traccia e rendere persistente l'oggetto roomId nel supporto di archiviazione preferito. È possibile fare riferimento roomId a per visualizzare o aggiornare le proprietà di un room oggetto .

Abilitare la funzionalità di chiamata telefonica PSTN per una stanza

Per impostazione predefinita, ogni room telefono PSTN è disabilitato. La chiamata PSTN può essere abilitata per un oggetto room durante la creazione, definendo il pstnDialOutEnabled parametro come true. Questa funzionalità può essere modificata anche per un oggetto room inviando una richiesta di aggiornamento per il pstnDialOutEnabled parametro .

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

Ottenere le proprietà di una stanza esistente

Recuperare i dettagli di un oggetto esistente room facendo riferimento a roomId:


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

Aggiornare la durata di una stanza

La durata di un room oggetto può essere modificata inviando una richiesta di aggiornamento per i ValidFrom parametri e ValidUntil . Una stanza può essere valida per un massimo di sei mesi.


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

Elencare tutte le sale attive

Per recuperare tutte le sale attive, usare il GetRoomsAsync metodo esposto nel client.


// 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;
}

Aggiungere nuovi partecipanti o aggiornare i partecipanti esistenti

Per aggiungere nuovi partecipanti a un roomoggetto , usare il AddParticipantsAsync metodo esposto nel client.


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

Partecipanti che sono stati aggiunti a un room diventano idonei per partecipare alle chiamate. I partecipanti che sono stati aggiornati vedranno il nuovo role nella chiamata.

Ottenere l'elenco dei partecipanti

Recuperare l'elenco dei partecipanti per un oggetto esistente room facendo riferimento a 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()}");
}

Rimuovere i partecipanti

Per rimuovere un partecipante da un oggetto room e revocarne l'accesso, usare il RemoveParticipantsAsync metodo .


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

Elimina sala

Se si desidera eliminare un oggetto esistente room, è possibile che venga inviata una richiesta di eliminazione esplicita. Tutte le rooms risorse associate vengono eliminate automaticamente alla fine della validità e un periodo di tolleranza.


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

Eseguire il codice

Per eseguire il codice, assicurarsi di essere nella directory in cui si trova il file Program.cs.


dotnet run

L'output previsto descrive ogni azione completata:


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

Documentazione di riferimento

Per informazioni sul set completo di funzionalità di Servizi di comunicazione di Azure rooms, vedere informazioni di riferimento su .NET SDK o informazioni di riferimento sulle API REST.

Questa guida introduttiva consente di iniziare a usare Servizi di comunicazione di Azure Rooms. Un room è uno spazio di comunicazione gestito dal server per un set di partecipanti noto e fisso per collaborare per una durata predeterminata. La documentazione concettuale delle sale illustra altri dettagli e casi d'uso per rooms.

Prerequisiti

Codice di esempio

È possibile esaminare e scaricare il codice di esempio per questa guida introduttiva in GitHub.

Configurazione

Creare una nuova applicazione Java

In una finestra di una console, ad esempio cmd, PowerShell o Bash, usare il comando mvn per creare una nuova app console con il nome rooms-quickstart. Questo comando crea un semplice progetto Java "Hello World" con un singolo file di origine: App.java.

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

Includere il pacchetto

È necessario usare la libreria client di Azure Communication Rooms per Java versione 1.1.0 o successiva.

Includere il file BOM

Includere per azure-sdk-bom il progetto la dipendenza dalla versione disponibile a livello generale della libreria. Nel frammento di codice seguente sostituire il segnaposto {bom_version_to_target} con il numero di versione. Per altre informazioni sulla distinta base, vedere il file leggimi bom di Azure SDK.

<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 quindi includere la dipendenza diretta nella sezione dipendenze senza il tag di versione.

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

Includi dipendenza diretta

Se si vuole dipendere da una determinata versione della libreria che non è presente nella distinta base, aggiungere la dipendenza diretta al progetto come indicato di seguito.

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

Configurare il framework app

Passare alla directory /src/main/java/com/communication/quickstart e aprire il App.java file. Aggiungere il codice seguente:


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
    }
}

Inizializzare un client sala

Creare un nuovo RoomsClient oggetto che verrà usato per creare nuove rooms proprietà e ciclo di vita. Il stringa di connessione dell'utente Communications Service verrà usato per autenticare la richiesta. Per altre informazioni sulle stringa di connessione, vedere questa pagina.


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

Creare una sala

Configurare i partecipanti alla sala

Per configurare chi può partecipare a una sala, è necessario avere l'elenco delle identità di tali utenti. È possibile seguire le istruzioni riportate qui per la creazione di utenti e l'emissione di token di accesso. In alternativa, se si desidera creare gli utenti su richiesta, è possibile crearli usando .CommunicationIdentityClient ACS Rooms supporta attualmente un partecipante della sala di tipo Solo CommunicationUserIdentifier, l'uso di altri tipi di CommunicationIdentity genererà un errore di runtime.

Per usare CommunicationIdentityClient, aggiungere il pacchetto seguente:

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

Importare il pacchetto nella parte superiore del App.java file:

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

CommunicationIdentityClient È ora possibile inizializzare e usare per creare utenti:

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

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

Creare quindi l'elenco dei partecipanti alla sala facendo riferimento a tali utenti:

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

Inizializzare la stanza

Creare un nuovo room oggetto usando l'oggetto roomParticipants definito nel frammento di codice precedente:

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

Poiché rooms sono entità lato server, è consigliabile tenere traccia e rendere persistente l'oggetto roomId nel supporto di archiviazione preferito. È possibile fare riferimento roomId a per visualizzare o aggiornare le proprietà di un room oggetto .

Abilitare la funzionalità di chiamata telefonica PSTN per una stanza

Per impostazione predefinita, ogni room telefono PSTN è disabilitato. La chiamata PSTN può essere abilitata per un oggetto room durante la creazione, definendo il pstnDialOutEnabled parametro come true. Questa funzionalità può essere modificata anche per un oggetto room inviando una richiesta di aggiornamento per il pstnDialOutEnabled parametro .

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

Ottenere le proprietà di una stanza esistente

Recuperare i dettagli di un oggetto esistente room facendo riferimento a roomId:


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

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

Aggiornare la durata di una stanza

La durata di un room oggetto può essere modificata inviando una richiesta di aggiornamento per i ValidFrom parametri e ValidUntil . Una stanza può essere valida per un massimo di sei mesi.


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

Aggiungere o aggiornare i partecipanti

Per aggiungere o aggiornare i partecipanti a un roomoggetto , usare il addOrUpdateParticipants metodo esposto nel client.


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

Partecipanti che sono stati aggiunti a un room diventano idonei per partecipare alle chiamate.

Ottenere l'elenco dei partecipanti

Recuperare l'elenco dei partecipanti per un oggetto esistente room facendo riferimento a 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);
}

Rimuovere i partecipanti

Per rimuovere un partecipante da un oggetto room e revocarne l'accesso, usare il removeParticipants metodo .


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

Elencare tutte le sale attive

Recuperare tutti gli attivi rooms nella risorsa Servizi di comunicazione di 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);
}

Elimina sala

Se si desidera eliminare un oggetto esistente room, è possibile che venga inviata una richiesta di eliminazione esplicita. Tutte le rooms risorse associate vengono eliminate automaticamente alla fine della validità e un periodo di tolleranza.


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

Eseguire il codice

Per eseguire il codice, passare alla directory contenente il pom.xml file e compilare il programma.


mvn compile

Compilare quindi il pacchetto:


mvn package

Eseguire l'app.

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

L'output previsto descrive ogni azione completata:


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

Documentazione di riferimento

Per informazioni sul set completo di funzionalità di Servizi di comunicazione di Azure rooms, vedere le informazioni di riferimento su Java SDK o informazioni di riferimento sull'API REST.

Questa guida introduttiva consente di iniziare a usare Servizi di comunicazione di Azure Rooms. Un room è uno spazio di comunicazione gestito dal server per un set di partecipanti noto e fisso per collaborare per una durata predeterminata. La documentazione concettuale delle sale illustra altri dettagli e casi d'uso per rooms.

Prerequisiti

Codice di esempio

È possibile esaminare e scaricare il codice di esempio per questa guida introduttiva in GitHub.

Configurazione

Creare una nuova applicazione Python

In una finestra del terminale o della console creare una nuova cartella per l'applicazione e passarvi.

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

Installare il pacchetto

È necessario usare la libreria client di Azure Communication Rooms per Python versione 1.1.0 o successiva.

Da un prompt della console passare alla directory contenente il file rooms.py, quindi eseguire il comando seguente:

pip install azure-communication-rooms

Configurare il framework dell'app

Creare un nuovo file denominato rooms-quickstart.py e aggiungere la struttura del programma di base.

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

Inizializzare un client sala

Creare un nuovo RoomsClient oggetto che verrà usato per creare nuove rooms proprietà e ciclo di vita. Il stringa di connessione dell'utente Communications Service verrà usato per autenticare la richiesta. Per altre informazioni sulle stringa di connessione, vedere questa pagina.

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

Creare una sala

Configurare i partecipanti alla sala

Per configurare chi può partecipare a una sala, è necessario avere l'elenco delle identità di tali utenti. È possibile seguire le istruzioni riportate qui per la creazione di utenti e l'emissione di token di accesso. In alternativa, se si desidera creare gli utenti su richiesta, è possibile crearli usando .CommunicationIdentityClient ACS Rooms supporta attualmente un partecipante della sala di tipo Solo CommunicationUserIdentifier, l'uso di altri tipi di CommunicationIdentity genererà un errore di runtime.

Per usare CommunicationIdentityClient, installare il pacchetto seguente:

pip install azure-communication-identity

Importare anche lo spazio dei nomi del pacchetto nella parte superiore del rooms-quickstart.py file:

from azure.communication.identity import (
    CommunicationIdentityClient
)

CommunicationIdentityClient È ora possibile inizializzare e usare per creare utenti:

# 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()

Creare quindi l'elenco dei partecipanti alla sala facendo riferimento a tali utenti:

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

Inizializzare la stanza

Creare un nuovo room oggetto usando l'oggetto participants definito nel frammento di codice precedente:

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

Poiché rooms sono entità lato server, è consigliabile tenere traccia e rendere persistente l'oggetto room.id nel supporto di archiviazione preferito. È possibile fare riferimento id a per visualizzare o aggiornare le proprietà di un room oggetto .

Abilitare la funzionalità di chiamata telefonica PSTN per una stanza

Per impostazione predefinita, ogni room telefono PSTN è disabilitato. La chiamata PSTN può essere abilitata per un oggetto room durante la creazione, definendo il pstn_dial_out_enabled parametro come true. Questa funzionalità può essere modificata anche per un oggetto room inviando una richiesta di aggiornamento per il pstn_dial_out_enabled parametro .

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

Ottenere le proprietà di una stanza esistente

Recuperare i dettagli di un oggetto esistente room facendo riferimento a 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)

Aggiornare la durata di una stanza

La durata di un room oggetto può essere modificata inviando una richiesta di aggiornamento per i valid_from parametri e valid_until . Una stanza può essere valida per un massimo di sei mesi.

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

Elencare tutte le sale attive

Per recuperare tutte le sale attive create nella risorsa, usare il list_rooms metodo esposto nel client.

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

Aggiungere o aggiornare i partecipanti

Per aggiungere nuovi partecipanti o aggiornare i partecipanti esistenti in un roomoggetto , usare il add_or_update_participants metodo esposto nel client.

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

Partecipanti che sono stati aggiunti a un room diventano idonei per partecipare alle chiamate.

Elencare i partecipanti in una sala

Recuperare l'elenco dei partecipanti per un oggetto esistente room facendo riferimento a 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)

Rimuovere i partecipanti

Per rimuovere un partecipante da un oggetto room e revocarne l'accesso, usare il remove_participants metodo .

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

Elimina sala

Se si desidera eliminare un oggetto esistente room, è possibile che venga inviata una richiesta di eliminazione esplicita. Tutte le rooms risorse associate vengono eliminate automaticamente alla fine della validità e un periodo di tolleranza.

# Delete Room

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

Eseguire il codice

Per eseguire il codice, assicurarsi di essere nella directory in cui si trova il file rooms-quickstart.py.


python rooms-quickstart.py

L'output previsto descrive ogni azione completata:


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

Documentazione di riferimento

Per informazioni sul set completo di funzionalità di Servizi di comunicazione di Azure rooms, vedere le informazioni di riferimento su Python SDK o informazioni di riferimento sulle API REST.

Questa guida introduttiva consente di iniziare a usare Servizi di comunicazione di Azure Rooms. Un room è uno spazio di comunicazione gestito dal server per un set di partecipanti noto e fisso per collaborare per una durata predeterminata. La documentazione concettuale delle sale illustra altri dettagli e casi d'uso per rooms.

Prerequisiti

Codice di esempio

È possibile esaminare e scaricare il codice di esempio per questa guida introduttiva in GitHub.

Configurazione

Creare una nuova applicazione Web

In una finestra del terminale o della console creare una nuova cartella per l'applicazione e passarvi.

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

Eseguire npm init per creare un file package.json con le impostazioni predefinite.

npm init -y

Creare un nuovo file index.js in cui verrà aggiunto il codice per questa guida introduttiva.

Installare i pacchetti

È necessario usare la libreria client di Azure Communication Rooms per JavaScript versione 1.1.0 o successiva.

Usare il npm install comando per installare gli SDK di Servizi di comunicazione seguenti per JavaScript.

npm install @azure/communication-rooms --save

Configurare il framework dell'app

index.js Nel file aggiungere il codice seguente. Si aggiungerà il codice per l'avvio rapido nella main funzione .

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

Inizializzare un client sala

Creare un nuovo RoomsClient oggetto che verrà usato per creare nuove rooms proprietà e ciclo di vita. Il stringa di connessione dell'utente Communications Service verrà usato per autenticare la richiesta. Per altre informazioni sulle stringa di connessione, vedere questa pagina.

Aggiungere il codice seguente all'interno index.js della main funzione .

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

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

Creare una sala

Configurare i partecipanti alla sala

Per configurare chi può partecipare a una sala, è necessario avere l'elenco delle identità di tali utenti. È possibile seguire le istruzioni riportate qui per la creazione di utenti e l'emissione di token di accesso. In alternativa, se si desidera creare gli utenti su richiesta, è possibile crearli usando .CommunicationIdentityClient ACS Rooms supporta attualmente un partecipante della sala di tipo Solo CommunicationUserIdentifier, l'uso di altri tipi di CommunicationIdentity genererà un errore di runtime.

Per usare CommunicationIdentityClient, installare il pacchetto npm seguente:

npm install @azure/communication-identity --save

Aggiungere anche il pacchetto obbligatorio seguente all'inizio del index.js file:

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

CommunicationIdentityClient È ora possibile inizializzare e usare per creare utenti:

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

Creare quindi l'elenco dei partecipanti alla sala facendo riferimento a tali utenti:

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

Inizializzare la stanza

Creare un nuovo room oggetto usando l'oggetto participants definito nel frammento di codice precedente:

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

Poiché rooms sono entità lato server, è consigliabile tenere traccia e rendere persistente l'oggetto roomId nel supporto di archiviazione preferito. È possibile fare riferimento roomId a per visualizzare o aggiornare le proprietà di un room oggetto .

Abilitare la funzionalità di chiamata telefonica PSTN per una stanza

Per impostazione predefinita, ogni room telefono PSTN è disabilitato. La chiamata PSTN può essere abilitata per un oggetto room durante la creazione, definendo il pstnDialOutEnabled parametro come true. Questa funzionalità può essere modificata anche per un oggetto room inviando una richiesta di aggiornamento per il pstnDialOutEnabled parametro .

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

Ottenere le proprietà di una stanza esistente

Recuperare i dettagli di un oggetto esistente room facendo riferimento a roomId:

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

Aggiornare la durata di una stanza

La durata di un room oggetto può essere modificata inviando una richiesta di aggiornamento per i validFrom parametri e validUntil . Una stanza può essere valida per un massimo di sei mesi.

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

Ottenere l'elenco delle sale

Recuperare l'elenco di sale usando il listRooms metodo :

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

Aggiungere o aggiornare i partecipanti

Per aggiungere nuovi partecipanti a un roomoggetto , usare il addOrUpdateParticipants metodo esposto nel client. Questo metodo aggiornerà anche un partecipante se esiste già nella stanza.

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

Partecipanti che sono stati aggiunti a un room diventano idonei per partecipare alle chiamate.

Ottenere l'elenco dei partecipanti

Recuperare l'elenco dei partecipanti per un oggetto esistente room facendo riferimento a 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);
}

Rimuovere i partecipanti

Per rimuovere un partecipante da un oggetto room e revocarne l'accesso, usare il removeParticipants metodo .

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

Elimina sala

Se si desidera eliminare un oggetto esistente room, è possibile che venga inviata una richiesta di eliminazione esplicita. Tutte le rooms risorse associate vengono eliminate automaticamente alla fine della validità e un periodo di tolleranza.

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

Eseguire il codice

Per eseguire il codice, assicurarsi di essere nella directory in cui si trova il file index.js.

node index.js

L'output previsto descrive ogni azione completata:

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

Documentazione di riferimento

Per informazioni sul set completo di funzionalità di Servizi di comunicazione di Azure rooms, vedere le informazioni di riferimento su JavaScript SDK o informazioni di riferimento sull'API REST.

Passaggi successivi

È possibile imparare a partecipare a una chiamata di sale dopo aver creato e configurato la sala.

In questa sezione si è appreso come:

  • Creare una nuova stanza
  • Ottenere le proprietà di una stanza
  • Aggiornare le proprietà di una stanza
  • Eliminare una stanza

Può essere utile vedere anche gli articoli seguenti: