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 , Attendee o Consumer . |
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Installare l'interfaccia della riga di comando di Azure.
- È possibile ottenere il stringa di connessione dal portale di Azure facendo clic sulle chiavi nelle impostazioni.
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 esecuzioneidentity 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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- La versione più recente della libreria client .NET Core per il sistema operativo in uso.
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 room
oggetto , 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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Java Development Kit (JDK) versione 8 o successiva.
- Apache Maven
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 room
oggetto , 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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Python 3.7+ come sistema operativo.
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 room
oggetto , 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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
- Le versioni più recenti di Node.js versioni di Active LTS e Maintenance LTS.
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 room
oggetto , 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:
- Informazioni sul concetto di sale
- Informazioni sui concetti relativi alle chiamate vocali e video
- Esaminare gli esempi di Servizi di comunicazione di Azure