Delen via


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, Attendeeof Consumer.

Vereisten

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

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 CommunicationIdentityClientte 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 roomIdvolgende:


// 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 roomIdvolgende:


// 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 roomwilt 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

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 roomIdvolgende:


// 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 roomwilt 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 roomIdvolgende:


// 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 roomwilt 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

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 CommunicationIdentityClientte 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 idvolgende:

# 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_idvolgende:

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

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 roomIdvolgende:

// 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 roomIdvolgende:

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 roomwilt 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: