Quickstart: Een ruimteresource maken en beheren
Deze quickstart helpt u aan de slag te gaan met Azure Communication Services Rooms. A room
is een door de server beheerde communicatieruimte voor een bekende, vaste set deelnemers om voor een vooraf bepaalde duur samen te werken. In de conceptuele documentatie van de ruimten worden meer details en gebruiksvoorbeelden behandeld.rooms
Objectmodel
De volgende tabel bevat de belangrijkste eigenschappen van room
objecten:
Name | Beschrijving |
---|---|
roomId |
Unieke room id. |
validFrom |
Vroegste tijd waarop een room kan worden gebruikt. |
validUntil |
De laatste keer dat een room kan worden gebruikt. |
pstnDialOutEnabled |
In- of uitschakelen van uitbellen naar een PSTN-nummer in een kamer. |
participants |
Lijst met deelnemers aan een room . Opgegeven als een CommunicationUserIdentifier . |
roleType |
De rol van een deelnemer aan de ruimte. Kan ofwel Presenter , Attendee of Consumer . |
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een actieve Communication Services-resource en verbindingsreeks. Een Communication Services-resource maken.
- Installeer Azure CLI.
- U kunt de verbindingsreeks ophalen in Azure Portal door op de sleutels in de instellingen te klikken.
Instellen
De extensie toevoegen
Voeg de Azure Communication Services-extensie voor Azure CLI toe met behulp van de az extension
opdracht.
az extension add --name communication
Aanmelden bij Azure CLI
U moet zich aanmelden bij Azure CLI. U kunt zich aanmelden door de az login
opdracht uit te voeren vanuit de terminal en uw referenties op te geven.
De verbindingsreeks naar een omgevingsvariabele schrijven
U kunt de AZURE_COMMUNICATION_CONNECTION_STRING
omgevingsvariabele configureren voor het gebruik van Bewerkingen van Azure CLI-sleutels zonder dat u de verbindingsreeks hoeft door te --connection_string
geven. Als u een omgevingsvariabele wilt configureren, opent u een consolevenster en selecteert u het besturingssysteem op de onderstaande tabbladen. Vervang <connectionString>
door de feitelijke verbindingsreeks.
setx AZURE_COMMUNICATION_CONNECTION_STRING "<connectionString>"
Nadat u de omgevingsvariabele hebt toegevoegd, moet u mogelijk alle actieve programma's opnieuw opstarten die de omgevingsvariabele moeten lezen, inclusief het consolevenster. Als u Visual Studio bijvoorbeeld gebruikt als editor, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Operations
Een ruimte maken
Gebruik de rooms create
opdracht om een ruimte te maken.
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>"
- Gebruik
<participantId>
optioneel om het type deelnemer op te geven als presentator-deelnemers, consumentendeelnemers of deelnemers aan deelnemers. Als u geen waarde opgeeft, is de standaardwaarde leeg. - Vervang
<connection-string>
door uw Azure Communication Services-verbindingsreeks. - Gebruik
<valid-from>
optioneel om de tijdstempel op te geven wanneer de ruimte is geopend voor deelname, in ISO8601 indeling, bijvoorbeeld: 2022-07-14T10:21. - Gebruik
<valid-until>
optioneel om de tijdstempel op te geven wanneer de ruimte niet meer kan worden samengevoegd, in ISO8601 indeling, bijvoorbeeld: 2022-07-14T10:21. - Gebruik
<pstn-dial-out-enabled>
optioneel door deze vlag in te stellen ('Waar' of 'Onwaar') om bellen via PSTN in of uit te schakelen voor een ruimte. Deze vlag is standaard ingesteld op 'Onwaar' bij het maken van een ruimte.
Als u de verbindingsreeks hebt opgeslagen in omgevingsvariabelen zoals hierboven vermeld, hoeft u deze niet door te geven aan de opdracht.
az communication rooms create
Mogelijkheid voor uitbellen via PSTN inschakelen voor een ruimte
Het PSTN-uitbellen kan worden ingeschakeld tijdens rooms create
het definiëren van de --pstn-dial-out-enabled
parameter als Waar. Deze mogelijkheid kan ook worden gewijzigd tijdens rooms update
het opgeven van de --pstn-dial-out-enabled
parameter.
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>"
- Als u PSTN-uitbellen wilt in- of uitschakelen voor een ruimte, stelt u
<pstn-dial-out-enabled>
de vlag 'True' of 'False' in.
De kamers ophalen
De rooms get
opdracht retourneert de kenmerken van een bestaande ruimte.
az communication rooms get --room "<roomId>"
- Vervang door
<roomId>
uw kamer-id.
Het tijdsbestek van een ruimte bijwerken
U kunt de tijdstempel van een ruimte bijwerken. Voordat u de room update
opdracht aanroept, moet u ervoor zorgen dat u een nieuwe ruimte met een geldig tijdsbestek hebt verkregen.
az communication rooms update --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
- Vervang
<valid-from>
door de tijdstempel in ISO8601 indeling, bijvoorbeeld: 2022-07-14T10:21, om op te geven wanneer de ruimte is geopend voor deelname. Moet samen met--valid-until
. - Vervang
<valid-until>
door de tijdstempel in ISO8601 indeling, bijvoorbeeld: 2022-07-14T10:21, om op te geven wanneer de ruimte niet meer kan worden samengevoegd. Moet samen met--valid-from
. - Vervang
<pstn-dial-out-enabled>
deze vlag ('Waar' of 'Onwaar') om bellen via PSTN in of uit te schakelen voor een ruimte. Moet samen met--pstn-dial-out-enabled
. - Vervang door
<roomId>
uw kamer-id.
Alle actieve ruimten weergeven
De rooms list
opdracht retourneert alle actieve ruimten die behoren tot uw Azure Communication Services-resource.
az communication rooms list
Nieuwe deelnemers toevoegen of bestaande deelnemers bijwerken
Wanneer u een ruimte maakt, kunt u de ruimte bijwerken door een nieuwe deelnemer toe te voegen of een bestaande deelnemer eraan bij te werken. Voordat u de room participant add-or-update
opdracht aanroept, moet u ervoor zorgen dat u een nieuwe gebruiker hebt verkregen.
Gebruik de identity user create
opdracht om een nieuwe deelnemer te maken, geïdentificeerd door participantId
.
az communication identity user create
Voeg een gebruiker toe als deelnemer aan de ruimte.
az communication rooms participant add-or-update --attendee-participant "<participantId>" --room "<roomId>"
- Vervang
<participantId>
door uw deelnemer-id. Als de<participantId>
deelnemer niet in de ruimte bestaat, wordt de deelnemer als deelnemer toegevoegd aan de ruimte. Anders wordt de rol van de deelnemer bijgewerkt naar een deelnemerrol. - Vervang door
<roomId>
uw kamer-id.
Lijst met deelnemers in een ruimte ophalen
az communication rooms participant get --room "<roomId>"
- Vervang door
<roomId>
uw kamer-id.
Een deelnemer uit een ruimte verwijderen
U kunt een deelnemer uit een ruimte verwijderen met behulp van rooms participant -remove
.
az communication rooms participant remove --room "<roomId>" --participants "<participant1>" "<participant2>" "<participant3>"
- Vervang door
<roomId>
uw kamer-id. - Vervang
<participant1>
,<participant2>
<participant3>
door uw gebruikers-id's die u eerder hebt verkregen door de opdracht uit te voerenidentity user create
.
Een ruimte verwijderen
Net als bij het maken van een ruimte kunt u ook een ruimte verwijderen.
Gebruik room delete
de opdracht om de bestaande ruimte te verwijderen.
az communication rooms delete --room "<roomId>"
- Vervang door
<roomId>
uw kamer-id.
Deze quickstart helpt u aan de slag te gaan met Azure Communication Services Rooms. A room
is een door de server beheerde communicatieruimte voor een bekende, vaste set deelnemers om voor een vooraf bepaalde duur samen te werken. In de conceptuele documentatie van de ruimten worden meer details en gebruiksvoorbeelden behandeld.rooms
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een actieve Communication Services-resource en verbindingsreeks. Een Communication Services-resource maken.
- De nieuwste versie van .NET Core-clientbibliotheek voor uw besturingssysteem.
Voorbeeldcode
U kunt de voorbeeldcode voor deze quickstart op GitHub bekijken en downloaden.
Instellen
Een nieuwe C#-toepassing maken
Gebruik in een consolevenster (zoals cmd, PowerShell of Bash) de opdracht dotnet new
om een nieuwe console-app te maken met de naam RoomsQuickstart
. Met deze opdracht maakt u een eenvoudig C#-project Hallo wereld met één bronbestand: Program.cs.
dotnet new console -o RoomsQuickstart
Wijzig uw map in de zojuist gemaakte app-map en gebruik de opdracht dotnet build
om uw toepassing te compileren.
cd RoomsQuickstart
dotnet build
Het pakket installeren
Installeer de Azure Communication Rooms-clientbibliotheek voor .NET met [NuGet][https://www.nuget.org/]:
dotnet add package Azure.Communication.Rooms
U moet de Azure Communication Rooms-clientbibliotheek voor .NET versie 1.1.0 of hoger gebruiken.
Stel het app-framework in
Voeg in het Program.cs
bestand de volgende code toe om de vereiste naamruimten te importeren en de structuur van het basisprogramma te maken.
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
}
}
}
Een kamerclient initialiseren
Maak een nieuw RoomsClient
object dat wordt gebruikt om nieuwe rooms
eigenschappen en levenscyclus te maken en te beheren. De verbindingsreeks van uw Communications Service
aanvraag wordt gebruikt om de aanvraag te verifiëren. Zie deze pagina voor meer informatie over verbindingsreeks s.
// Find your Communication Services resource in the Azure portal
var connectionString = "<connection_string>";
RoomsClient roomsClient = new RoomsClient(connectionString);
Een ruimte maken
Deelnemers aan de ruimte instellen
Als u wilt instellen wie lid kan worden van een ruimte, moet u de lijst met de identiteiten van die gebruikers hebben. U kunt de instructies hier volgen voor het maken van gebruikers en het uitgeven van toegangstokens. Als u de gebruikers op aanvraag wilt maken, kunt u ze ook maken met behulp van de CommunicationIdentityClient
. ACS Rooms ondersteunt momenteel alleen een deelnemer aan een ruimte van het type CommunicationUserIdentifier, waarbij andere typen CommunicationIdentity worden gebruikt, resulteert in een runtimefout.
Installeer het volgende pakket om het CommunicationIdentityClient
te gebruiken:
dotnet add package Azure.Communication.Identity
Importeer ook de naamruimte van het pakket boven aan het Program.cs
bestand:
using Azure.Communication.Identity;
Nu kan de CommunicationIdentityClient
app worden geïnitialiseerd en gebruikt om gebruikers te maken:
// Create identities for users who will join the room
CommunicationIdentityClient identityClient = new CommunicationIdentityClient(connectionString);
CommunicationUserIdentifier user1 = identityClient.CreateUser();
CommunicationUserIdentifier user2 = identityClient.CreateUser();
Maak vervolgens de lijst met deelnemers aan de vergaderruimte door te verwijzen naar deze gebruikers:
List<RoomParticipant> participants = new List<RoomParticipant>()
{
new RoomParticipant(user1) { Role = ParticipantRole.Presenter },
new RoomParticipant(user2) // The default participant role is ParticipantRole.Attendee
};
De ruimte initialiseren
Maak een nieuw room
met behulp van het participants
gedefinieerde codefragment hierboven:
// 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);
Omdat rooms
het entiteiten aan de serverzijde zijn, wilt u het opslagmedium van uw keuze bijhouden en behouden roomId
. U kunt verwijzen naar het roomId
object om de eigenschappen van een room
object weer te geven of bij te werken.
Mogelijkheid voor uitbellen via PSTN inschakelen voor een ruimte
Elk room
heeft pstN-uitbellen standaard uitgeschakeld. Het PSTN-uitbellen kan worden ingeschakeld voor een room
tijdens het maken, door de pstnDialOutEnabled
parameter als waar te definiëren. Deze mogelijkheid kan ook worden gewijzigd voor een room
door een updateaanvraag voor de pstnDialOutEnabled
parameter uit te geven.
// 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);
Eigenschappen van een bestaande ruimte ophalen
Haal de details van een bestaande op room
door te verwijzen naar het roomId
volgende:
// Retrieve the room with corresponding ID
CommunicationRoom room = await roomsClient.GetRoomAsync(roomId);
Console.WriteLine("\nRetrieved room with id: " + room.Id);
De levensduur van een ruimte bijwerken
De levensduur van een room
kan worden gewijzigd door een updateaanvraag voor de ValidFrom
en ValidUntil
parameters uit te geven. Een kamer kan maximaal zes maanden geldig zijn.
// 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);
Alle actieve ruimten weergeven
Als u alle actieve ruimten wilt ophalen, gebruikt u de GetRoomsAsync
methode die op de client wordt weergegeven.
// 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;
}
Nieuwe deelnemers toevoegen of bestaande deelnemers bijwerken
Als u nieuwe deelnemers wilt toevoegen aan een room
, gebruikt u de AddParticipantsAsync
methode die op de client wordt weergegeven.
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");
Deelnemers die zijn toegevoegd aan een room
in aanmerking komen om deel te nemen aan gesprekken. Deelnemers die zijn bijgewerkt, zien hun nieuwe role
aanroep.
Lijst met deelnemers ophalen
Haal de lijst met deelnemers voor een bestaande room
op door te verwijzen naar het roomId
volgende:
// 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()}");
}
Deelnemers verwijderen
Als u een deelnemer wilt verwijderen uit een room
deelnemer en de toegang wilt intrekken, gebruikt u de RemoveParticipantsAsync
methode.
// 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");
Ruimte verwijderen
Als u een bestaande room
wilt verwijderen, kunt u een expliciete verwijderingsaanvraag indienen. Alle rooms
resources en de bijbehorende resources worden automatisch verwijderd aan het einde van hun geldigheid plus een respijtperiode.
// Deletes the specified room
Response deleteRoomResponse = await roomsClient.DeleteRoomAsync(roomId);
Console.WriteLine("\nDeleted room with id: " + roomId);
De code uitvoeren
Als u de code wilt uitvoeren, controleert u of u zich in de map bevindt waarin het Program.cs
bestand zich bevindt.
dotnet run
In de verwachte uitvoer wordt elke voltooide actie beschreven:
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
Referentiedocumentatie
Lees meer over de volledige set mogelijkheden van Azure Communication Services-ruimten vanuit de .NET SDK-naslaginformatie of REST API-verwijzing.
Deze quickstart helpt u aan de slag te gaan met Azure Communication Services Rooms. A room
is een door de server beheerde communicatieruimte voor een bekende, vaste set deelnemers om voor een vooraf bepaalde duur samen te werken. In de conceptuele documentatie van de ruimten worden meer details en gebruiksvoorbeelden behandeld.rooms
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een actieve Communication Services-resource en verbindingsreeks. Een Communication Services-resource maken.
- Java Development Kit (JDK) versie 8 of hoger.
- Apache Maven
Voorbeeldcode
U kunt de voorbeeldcode voor deze quickstart op GitHub bekijken en downloaden.
Instellen
Een nieuwe Java-toepassing maken
Gebruik in een consolevenster (zoals cmd, PowerShell of Bash) de opdracht mvn
om een nieuwe console-app te maken met de naam rooms-quickstart
. Met deze opdracht maakt u een eenvoudig Java-project Hallo wereld met één bronbestand: App.java.
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Het pakket opnemen
U moet de Azure Communication Rooms-clientbibliotheek voor Java-versie 1.1.0 of hoger gebruiken.
Het BOM-bestand opnemen
Neem het azure-sdk-bom
project op om afhankelijk te worden van de algemene beschikbaarheidsversie van de bibliotheek. Vervang in het volgende codefragment de tijdelijke aanduiding {bom_version_to_target} door het versienummer.
Voor meer informatie over de BOM raadpleegt u de Leesmij voor de Azure SDK BOM.
<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>
en neem vervolgens de directe afhankelijkheid op in de sectie Afhankelijkheden zonder de versietag.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-rooms</artifactId>
</dependency>
</dependencies>
Directe afhankelijkheid opnemen
Als u afhankelijk wilt zijn van een bepaalde versie van de bibliotheek die niet aanwezig is in de bom, voegt u de directe afhankelijkheid als volgt toe aan uw project.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-rooms</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
App-framework instellen
Ga naar de map /src/main/java/com/communication/quickstart en open het App.java
bestand. Voeg de volgende code toe:
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
}
}
Een kamerclient initialiseren
Maak een nieuw RoomsClient
object dat wordt gebruikt om nieuwe rooms
eigenschappen en levenscyclus te maken en te beheren. De verbindingsreeks van uw Communications Service
aanvraag wordt gebruikt om de aanvraag te verifiëren. Zie deze pagina voor meer informatie over verbindingsreeks s.
// Initialize the rooms client
// Find your Communication Services resource in the Azure portal
String connectionString = "<connection string>";
RoomsClient roomsClient = new RoomsClientBuilder().connectionString(connectionString).buildClient();
Een ruimte maken
Deelnemers aan de ruimte instellen
Als u wilt instellen wie lid kan worden van een ruimte, moet u de lijst met de identiteiten van die gebruikers hebben. U kunt de instructies hier volgen voor het maken van gebruikers en het uitgeven van toegangstokens. Als u de gebruikers op aanvraag wilt maken, kunt u ze ook maken met behulp van de CommunicationIdentityClient
. ACS Rooms ondersteunt momenteel alleen een deelnemer aan een ruimte van het type CommunicationUserIdentifier, waarbij andere typen CommunicationIdentity worden gebruikt, resulteert in een runtimefout.
Voeg het volgende pakket toe om te gebruiken CommunicationIdentityClient
:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-identity</artifactId>
</dependency>
Importeer het pakket bovenaan het App.java
bestand:
import com.azure.communication.identity.CommunicationIdentityClient;
import com.azure.communication.identity.CommunicationIdentityClientBuilder;
Nu kan de CommunicationIdentityClient
app worden geïnitialiseerd en gebruikt om gebruikers te maken:
CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
.connectionString(connectionString)
.buildClient();
CommunicationUserIdentifier user1 = communicationClient.createUser();
CommunicationUserIdentifier user2 = communicationClient.createUser();
CommunicationUserIdentifier user3 = communicationClient.createUser();
Maak vervolgens de lijst met deelnemers aan de vergaderruimte door te verwijzen naar deze gebruikers:
//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));
De ruimte initialiseren
Maak een nieuw room
met behulp van het roomParticipants
gedefinieerde codefragment hierboven:
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());
Omdat rooms
het entiteiten aan de serverzijde zijn, wilt u het opslagmedium van uw keuze bijhouden en behouden roomId
. U kunt verwijzen naar het roomId
object om de eigenschappen van een room
object weer te geven of bij te werken.
Mogelijkheid voor uitbellen via PSTN inschakelen voor een ruimte
Elk room
heeft pstN-uitbellen standaard uitgeschakeld. Het PSTN-uitbellen kan worden ingeschakeld voor een room
tijdens het maken, door de pstnDialOutEnabled
parameter als waar te definiëren. Deze mogelijkheid kan ook worden gewijzigd voor een room
door een updateaanvraag voor de pstnDialOutEnabled
parameter uit te geven.
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());
Eigenschappen van een bestaande ruimte ophalen
Haal de details van een bestaande op room
door te verwijzen naar het roomId
volgende:
// Retrieve the room with corresponding ID
CommunicationRoom roomResult = roomsClient.getRoom(roomId);
System.out.println("Retrieved room with id: " + roomResult.getRoomId());
De levensduur van een ruimte bijwerken
De levensduur van een room
kan worden gewijzigd door een updateaanvraag voor de ValidFrom
en ValidUntil
parameters uit te geven. Een kamer kan maximaal zes maanden geldig zijn.
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());
Deelnemers toevoegen of bijwerken
Als u deelnemers aan een room
wilt toevoegen of bijwerken, gebruikt u de addOrUpdateParticipants
methode die op de client wordt weergegeven.
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");
Deelnemers die zijn toegevoegd aan een room
in aanmerking komen om deel te nemen aan gesprekken.
Lijst met deelnemers ophalen
Haal de lijst met deelnemers voor een bestaande room
op door te verwijzen naar het roomId
volgende:
// 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);
}
Deelnemers verwijderen
Als u een deelnemer wilt verwijderen uit een room
deelnemer en de toegang wilt intrekken, gebruikt u de removeParticipants
methode.
// 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");
Alle actieve ruimten weergeven
Haal alle actieve items rooms
op onder uw Azure Communication Services-resource.
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);
}
Ruimte verwijderen
Als u een bestaande room
wilt verwijderen, kunt u een expliciete verwijderingsaanvraag indienen. Alle rooms
resources en de bijbehorende resources worden automatisch verwijderd aan het einde van hun geldigheid plus een respijtperiode.
// Deletes the specified room
roomsClient.deleteRoomWithResponse(roomId, Context.NONE);
System.out.println("\nDeleted the room with ID: " + roomId);
De code uitvoeren
Als u de code wilt uitvoeren, gaat u naar de map met het pom.xml
bestand en compileert u het programma.
mvn compile
Bouw vervolgens het pakket:
mvn package
Voer de app uit.
mvn exec:java -D"exec.mainClass"="com.communication.rooms.quickstart" -D"exec.cleanupDaemonThreads"="false"
In de verwachte uitvoer wordt elke voltooide actie beschreven:
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
Referentiedocumentatie
Lees meer over de volledige set mogelijkheden van Azure Communication Services-ruimten vanuit de Java SDK-verwijzing of REST API-verwijzing.
Deze quickstart helpt u aan de slag te gaan met Azure Communication Services Rooms. A room
is een door de server beheerde communicatieruimte voor een bekende, vaste set deelnemers om voor een vooraf bepaalde duur samen te werken. In de conceptuele documentatie van de ruimten worden meer details en gebruiksvoorbeelden behandeld.rooms
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een actieve Communication Services-resource en verbindingsreeks. Een Communication Services-resource maken.
- Python 3.7+ voor uw besturingssysteem.
Voorbeeldcode
U kunt de voorbeeldcode voor deze quickstart op GitHub bekijken en downloaden.
Instellen
Een nieuwe Python-toepassing maken
Maak in een terminal- of consolevenster een nieuwe map voor uw toepassing en navigeer ernaartoe.
mkdir acs-rooms-quickstart
cd acs-rooms-quickstart
Het pakket installeren
U moet de Azure Communication Rooms-clientbibliotheek voor Python versie 1.1.0 of hoger gebruiken.
Navigeer vanuit een consoleprompt naar de map met het rooms.py bestand en voer vervolgens de volgende opdracht uit:
pip install azure-communication-rooms
Stel het app-framework in
Maak een nieuw bestand met de naam rooms-quickstart.py
en voeg de basisprogrammastructuur toe.
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()
Een kamerclient initialiseren
Maak een nieuw RoomsClient
object dat wordt gebruikt om nieuwe rooms
eigenschappen en levenscyclus te maken en te beheren. De verbindingsreeks van uw Communications Service
aanvraag wordt gebruikt om de aanvraag te verifiëren. Zie deze pagina voor meer informatie over verbindingsreeks s.
#Find your Communication Services resource in the Azure portal
connection_string = '<connection_string>'
rooms_client = RoomsClient.from_connection_string(connection_string)
Een ruimte maken
Deelnemers aan de ruimte instellen
Als u wilt instellen wie lid kan worden van een ruimte, moet u de lijst met de identiteiten van die gebruikers hebben. U kunt de instructies hier volgen voor het maken van gebruikers en het uitgeven van toegangstokens. Als u de gebruikers op aanvraag wilt maken, kunt u ze ook maken met behulp van de CommunicationIdentityClient
. ACS Rooms ondersteunt momenteel alleen een deelnemer aan een ruimte van het type CommunicationUserIdentifier, waarbij andere typen CommunicationIdentity worden gebruikt, resulteert in een runtimefout.
Installeer het volgende pakket om het CommunicationIdentityClient
te gebruiken:
pip install azure-communication-identity
Importeer ook de naamruimte van het pakket boven aan het rooms-quickstart.py
bestand:
from azure.communication.identity import (
CommunicationIdentityClient
)
Nu kan de CommunicationIdentityClient
app worden geïnitialiseerd en gebruikt om gebruikers te maken:
# 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()
Maak vervolgens de lijst met deelnemers aan de vergaderruimte door te verwijzen naar deze gebruikers:
participant_1 = RoomParticipant(communication_identifier=user1, role=ParticipantRole.PRESENTER)
participant_2 = RoomParticipant(communication_identifier=user2, role=ParticipantRole.CONSUMER)
participants = [participant_1, participant_2]
De ruimte initialiseren
Maak een nieuw room
met behulp van het participants
gedefinieerde codefragment hierboven:
# 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)
Omdat rooms
het entiteiten aan de serverzijde zijn, wilt u het opslagmedium van uw keuze bijhouden en behouden room.id
. U kunt verwijzen naar het id
object om de eigenschappen van een room
object weer te geven of bij te werken.
Mogelijkheid voor uitbellen via PSTN inschakelen voor een ruimte
Elk room
heeft pstN-uitbellen standaard uitgeschakeld. Het PSTN-uitbellen kan worden ingeschakeld voor een room
tijdens het maken, door de pstn_dial_out_enabled
parameter als waar te definiëren. Deze mogelijkheid kan ook worden gewijzigd voor een room
door een updateaanvraag voor de pstn_dial_out_enabled
parameter uit te geven.
# 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)
Eigenschappen van een bestaande ruimte ophalen
Haal de details van een bestaande op room
door te verwijzen naar het id
volgende:
# 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)
De levensduur van een ruimte bijwerken
De levensduur van een room
kan worden gewijzigd door een updateaanvraag voor de valid_from
en valid_until
parameters uit te geven. Een kamer kan maximaal zes maanden geldig zijn.
# 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)
Alle actieve ruimten weergeven
Als u alle actieve ruimten wilt ophalen die zijn gemaakt onder uw resource, gebruikt u de list_rooms
methode die op de client wordt weergegeven.
# 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)
Deelnemers toevoegen of bijwerken
Als u nieuwe deelnemers wilt toevoegen of bestaande deelnemers wilt bijwerken in een room
, gebruikt u de add_or_update_participants
methode die op de client wordt weergegeven.
# 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)
Deelnemers die zijn toegevoegd aan een room
in aanmerking komen om deel te nemen aan gesprekken.
Deelnemers in een ruimte weergeven
Haal de lijst met deelnemers voor een bestaande room
op door te verwijzen naar het room_id
volgende:
# 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)
Deelnemers verwijderen
Als u een deelnemer wilt verwijderen uit een room
deelnemer en de toegang wilt intrekken, gebruikt u de remove_participants
methode.
# 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)
Ruimte verwijderen
Als u een bestaande room
wilt verwijderen, kunt u een expliciete verwijderingsaanvraag indienen. Alle rooms
resources en de bijbehorende resources worden automatisch verwijderd aan het einde van hun geldigheid plus een respijtperiode.
# Delete Room
rooms_client.delete_room(room_id=room_id)
print("\nDeleted room with id: " + room_id)
De code uitvoeren
Als u de code wilt uitvoeren, controleert u of u zich in de map bevindt waarin het rooms-quickstart.py
bestand zich bevindt.
python rooms-quickstart.py
In de verwachte uitvoer wordt elke voltooide actie beschreven:
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
Referentiedocumentatie
Lees meer over de volledige set mogelijkheden van Azure Communication Services-ruimten uit de Python SDK-naslaginformatie of REST API-verwijzing.
Deze quickstart helpt u aan de slag te gaan met Azure Communication Services Rooms. A room
is een door de server beheerde communicatieruimte voor een bekende, vaste set deelnemers om voor een vooraf bepaalde duur samen te werken. In de conceptuele documentatie van de ruimten worden meer details en gebruiksvoorbeelden behandeld.rooms
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een actieve Communication Services-resource en verbindingsreeks. Een Communication Services-resource maken.
- De nieuwste versies van Node.js Active LTS- en Maintenance LTS-versies.
Voorbeeldcode
U kunt de voorbeeldcode voor deze quickstart op GitHub bekijken en downloaden.
Instellen
Een nieuwe webtoepassing maken
Maak in een terminal- of consolevenster een nieuwe map voor uw toepassing en navigeer ernaartoe.
mkdir acs-rooms-quickstart && cd acs-rooms-quickstart
Voer deze opdracht uit npm init
om een package.json-bestand met standaardinstellingen te maken.
npm init -y
Maak een nieuw bestand index.js
waarin de code voor deze quickstart wordt toegevoegd.
De pakketten installeren
U moet de Azure Communication Rooms-clientbibliotheek gebruiken voor JavaScript versie 1.1.0 of hoger.
Gebruik de npm install
opdracht om de onderstaande Communication Services SDK's voor JavaScript te installeren.
npm install @azure/communication-rooms --save
Stel het app-framework in
Voeg in het index.js
bestand de volgende code toe. We voegen de code voor de quickstart toe in de main
functie.
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);
})
Een kamerclient initialiseren
Maak een nieuw RoomsClient
object dat wordt gebruikt om nieuwe rooms
eigenschappen en levenscyclus te maken en te beheren. De verbindingsreeks van uw Communications Service
aanvraag wordt gebruikt om de aanvraag te verifiëren. Zie deze pagina voor meer informatie over verbindingsreeks s.
Voeg de volgende code toe in index.js
de main
functie.
const connectionString =
process.env["COMMUNICATION_CONNECTION_STRING"] ||
"endpoint=https://<resource-name>.communication.azure.com/;<access-key>";
// create RoomsClient
const roomsClient = new RoomsClient(connectionString);
Een ruimte maken
Deelnemers aan de ruimte instellen
Als u wilt instellen wie lid kan worden van een ruimte, moet u de lijst met de identiteiten van die gebruikers hebben. U kunt de instructies hier volgen voor het maken van gebruikers en het uitgeven van toegangstokens. Als u de gebruikers op aanvraag wilt maken, kunt u ze ook maken met behulp van de CommunicationIdentityClient
. ACS Rooms ondersteunt momenteel alleen een deelnemer aan een ruimte van het type CommunicationUserIdentifier, waarbij andere typen CommunicationIdentity worden gebruikt, resulteert in een runtimefout.
Als u de CommunicationIdentityClient wilt gebruiken, installeert u het volgende NPM-pakket:
npm install @azure/communication-identity --save
Voeg ook het volgende vereiste pakket toe boven aan het index.js
bestand:
const { CommunicationIdentityClient } = require('@azure/communication-identity');
Nu kan de CommunicationIdentityClient
app worden geïnitialiseerd en gebruikt om gebruikers te maken:
// create identities for users
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
const user2 = await identityClient.createUserAndToken(["voip"]);
Maak vervolgens de lijst met deelnemers aan de vergaderruimte door te verwijzen naar deze gebruikers:
const participants = [
{
id: user1.user,
role: "Presenter",
},
{
id: user2.user,
role: "Consumer",
}
]
De ruimte initialiseren
Maak een nieuw room
met behulp van het participants
gedefinieerde codefragment hierboven:
// 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);
Omdat rooms
het entiteiten aan de serverzijde zijn, wilt u het opslagmedium van uw keuze bijhouden en behouden roomId
. U kunt verwijzen naar het roomId
object om de eigenschappen van een room
object weer te geven of bij te werken.
Mogelijkheid voor uitbellen via PSTN inschakelen voor een ruimte
Elk room
heeft pstN-uitbellen standaard uitgeschakeld. Het PSTN-uitbellen kan worden ingeschakeld voor een room
tijdens het maken, door de pstnDialOutEnabled
parameter als waar te definiëren. Deze mogelijkheid kan ook worden gewijzigd voor een room
door een updateaanvraag voor de pstnDialOutEnabled
parameter uit te geven.
// 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);
Eigenschappen van een bestaande ruimte ophalen
Haal de details van een bestaande op room
door te verwijzen naar het roomId
volgende:
// Retrieve the room with corresponding ID
const getRoom = await roomsClient.getRoom(roomId);
console.log("\nRetrieved room with id: ", getRoom.id);
De levensduur van een ruimte bijwerken
De levensduur van een room
kan worden gewijzigd door een updateaanvraag voor de validFrom
en validUntil
parameters uit te geven. Een kamer kan maximaal zes maanden geldig zijn.
// 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);
Lijst met ruimten ophalen
Haal uw lijst met ruimten op met behulp van de listRooms
methode:
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;
}
Deelnemers toevoegen of bijwerken
Als u nieuwe deelnemers wilt toevoegen aan een room
, gebruikt u de addOrUpdateParticipants
methode die op de client wordt weergegeven. Met deze methode wordt ook een deelnemer bijgewerkt als deze al in de ruimte aanwezig is.
// 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");
Deelnemers die zijn toegevoegd aan een room
in aanmerking komen om deel te nemen aan gesprekken.
Lijst met deelnemers ophalen
Haal de lijst met deelnemers voor een bestaande room
op door te verwijzen naar het roomId
volgende:
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);
}
Deelnemers verwijderen
Als u een deelnemer wilt verwijderen uit een room
deelnemer en de toegang wilt intrekken, gebruikt u de removeParticipants
methode.
// 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");
Ruimte verwijderen
Als u een bestaande room
wilt verwijderen, kunt u een expliciete verwijderingsaanvraag indienen. Alle rooms
resources en de bijbehorende resources worden automatisch verwijderd aan het einde van hun geldigheid plus een respijtperiode.
// Deletes the specified room
await roomsClient.deleteRoom(roomId);
console.log("\nDeleted room with id: ", roomId)
De code uitvoeren
Als u de code wilt uitvoeren, controleert u of u zich in de map bevindt waarin het index.js
bestand zich bevindt.
node index.js
In de verwachte uitvoer wordt elke voltooide actie beschreven:
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
Referentiedocumentatie
Lees meer over de volledige set mogelijkheden van Azure Communication Services-ruimten vanuit de Naslaginformatie over de JavaScript SDK of REST API-verwijzing.
Volgende stappen
U kunt leren hoe u kunt deelnemen aan een chatgesprek nadat u de ruimte hebt gemaakt en geconfigureerd.
In deze sectie hebt u geleerd hoe u het volgende kunt doen:
- Een nieuwe ruimte maken
- De eigenschappen van een ruimte ophalen
- De eigenschappen van een ruimte bijwerken
- Een ruimte verwijderen
U wilt mogelijk ook:
- Meer informatie over het concept van ruimten
- Meer informatie over concepten voor spraak- en videogesprekken
- Voorbeelden van Azure Communication Services controleren