Megosztás a következőn keresztül:


Rövid útmutató: Helyiségerőforrás létrehozása és kezelése

Ez a rövid útmutató segít az Azure Communication Services-szobák használatának megkezdésében. Az A room egy olyan kiszolgáló által felügyelt kommunikációs terület, amin egy ismert, rögzített résztvevőkből álló csoport előre meghatározott ideig együttműködhet. A szobák fogalmi dokumentációja további részleteket és használati eseteket roomstartalmaz.

Objektummodell

Az alábbi táblázat az objektumok fő tulajdonságait sorolja room fel:

Név Leírás
roomId Egyedi room azonosító.
validFrom A legkorábbi időpont, amikor használható room .
validUntil A legújabb időpont, amikor a room használható.
pstnDialOutEnabled Engedélyezze vagy tiltsa le a kitárcsázást egy szobában lévő PSTN-számra.
participants A résztvevők listája egy room. CommunicationIdentifierMegadva .
roleType A szoba résztvevőinek szerepe. Lehet , PresenterAttendeevagy Consumer.

Előfeltételek

Beállítás

A bővítmény hozzáadása

Adja hozzá az Azure CLI Azure Communication Services-bővítményét a az extension parancs használatával.

az extension add --name communication

Bejelentkezés az Azure CLI-be

Be kell jelentkeznie az Azure CLI-be. A bejelentkezéshez futtassa a parancsot a az login terminálról, és adja meg a hitelesítő adatait.

A kapcsolati sztring tárolása környezeti változóban

A környezeti változót AZURE_COMMUNICATION_CONNECTION_STRING úgy konfigurálhatja, hogy az Azure CLI-kulcsok műveleteit használja anélkül, hogy át kellene --connection_string adnia a kapcsolati sztring. Környezeti változó konfigurálásához nyisson meg egy konzolablakot, és válassza ki az operációs rendszert az alábbi lapokról. Cserélje le <connectionString> a tényleges kapcsolati sztring.

setx AZURE_COMMUNICATION_CONNECTION_STRING "<connectionString>"

A környezeti változó hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változó olvasásához szükséges futó programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Üzemeltetés

Helyiség létrehozása

rooms create A parancs használatával hozzon létre egy szobát.

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>"
  • Ha <participantId> szeretné, megadhatja a résztvevő típusát előadói résztvevőként, fogyasztó-résztvevőként vagy résztvevőként. Ha nem ad meg értéket, az alapértelmezett érték üres.
  • Cserélje le <connection-string> az Azure Communication Services kapcsolati sztring.
  • Igény <valid-from> szerint megadhatja az időbélyeget, amikor a helyiség nyitva van a csatlakozáshoz, ISO8601 formátumban, például: 2022-07-14T10:21.
  • Ha <valid-until> szeretné, megadhatja az időbélyeget, amikor a helyiség már nem csatlakoztatható, ISO8601 formátumban, például: 2022-07-14T10:21.
  • Ha szeretné, <pstn-dial-out-enabled> használja ezt a jelzőt ("True" vagy "False") a PSTN-kitárcsázás engedélyezéséhez vagy letiltásához egy helyiségben. Ez a jelző alapértelmezés szerint "False" (Hamis) értékre van állítva egy helyiség létrehozásakor.

Ha a kapcsolati sztring a fent említett környezeti változókban tárolta, nem kell átadnia őket a parancsnak.

az communication rooms create 

A PSTN kitárcsázási funkciójának engedélyezése egy helyiségben

A PSTN-kitárcsázás a paraméter "True" (Igaz) értékként való definiálásával --pstn-dial-out-enabled engedélyezhetőrooms create. Ez a képesség a paraméter megadásával --pstn-dial-out-enabled is módosíthatórooms update.

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>"
  • Ha engedélyezni vagy letiltani szeretné a PSTN-kitárcsázást egy helyiségben, állítsa be <pstn-dial-out-enabled> a "True" (Igaz) vagy a "False" (Hamis) jelölőt.

A szobák lekérése

A rooms get parancs egy meglévő helyiség attribútumait adja vissza.

az communication rooms get --room "<roomId>" 
  • Cserélje le <roomId> a szobaazonosítóra.

Helyiség időkeretének frissítése

Frissítheti a helyiség időbélyegét. A parancs meghívása room update előtt győződjön meg arról, hogy egy új helyiséget szerzett be érvényes időkerettel.

az communication rooms update --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
  • Cserélje le <valid-from> az időbélyeget ISO8601 formátumban, például: 2022-07-14T10:21, hogy megadhatja, mikor van nyitva a helyiség a csatlakozáshoz. Együtt kell használni a --valid-until.
  • Cserélje le <valid-until> az időbélyeget ISO8601 formátumban, például: 2022-07-14T10:21, hogy megadja, mikor nem lehet többé csatlakozni a helyiséghez. Együtt kell használni a --valid-from.
  • Cserélje le <pstn-dial-out-enabled> ezt a jelzőt ("True" vagy "False") a PSTN-kitárcsázás engedélyezéséhez vagy letiltásához egy helyiségben. Együtt kell használni a --pstn-dial-out-enabled.
  • Cserélje le <roomId> a szobaazonosítóra.

Az összes aktív szoba listázása

A rooms list parancs az Azure Communication Services-erőforráshoz tartozó összes aktív helyiséget visszaadja.

az communication rooms list

Új résztvevők hozzáadása vagy meglévő résztvevők frissítése

Amikor létrehoz egy szobát, frissítheti a helyiséget új résztvevő hozzáadásával vagy egy meglévő résztvevő frissítésével. A parancs meghívása room participant add-or-update előtt győződjön meg arról, hogy új felhasználót szerzett be.

identity user create A parancs használatával hozzon létre egy új résztvevőt, amelyet participantIda következő azonosít: .

az communication identity user create

Vegyen fel egy felhasználót résztvevőként a helyiségbe.

az communication rooms participant add-or-update --attendee-participant "<participantId>" --room "<roomId>"
  • Cserélje le <participantId> a résztvevő azonosítóját. Ha a <participantId> helyiség nem létezik, a résztvevő résztvevői szerepkörként lesz hozzáadva a helyiséghez. Ellenkező esetben a résztvevő szerepköre egy résztvevői szerepkörre frissül.
  • Cserélje le <roomId> a szobaazonosítóra.

Résztvevők listájának lekérése egy szobában

az communication rooms participant get --room "<roomId>"
  • Cserélje le <roomId> a szobaazonosítóra.

Résztvevő eltávolítása egy szobából

A szoba résztvevőit a következővel rooms participant -removetávolíthatja el a helyiségből: .

az communication rooms participant remove --room "<roomId>" --participants "<participant1>" "<participant2>" "<participant3>"
  • Cserélje le <roomId> a szobaazonosítóra.
  • Cserélje le <participant1>a ( ) <participant2><participant3> elemet a korábban beszerzett felhasználói azonosítókra a futó identity user createparanccsal.

Helyiség törlése

A helyiség létrehozásához hasonlóan egy helyiséget is törölhet.

A meglévő helyiség törléséhez használja room delete a parancsot.

az communication rooms delete --room "<roomId>"
  • Cserélje le <roomId> a szobaazonosítóra.

Ez a rövid útmutató segít az Azure Communication Services-szobák használatának megkezdésében. Az A room egy olyan kiszolgáló által felügyelt kommunikációs terület, amin egy ismert, rögzített résztvevőkből álló csoport előre meghatározott ideig együttműködhet. A szobák fogalmi dokumentációja további részleteket és használati eseteket roomstartalmaz.

Előfeltételek

Mintakód

A GitHubon áttekintheti és letöltheti a gyors üzembe helyezéshez szükséges mintakódot.

Beállítás

Új C#-alkalmazás létrehozása

Egy konzolablakban (például parancsmag, PowerShell vagy Bash) a dotnet new paranccsal hozzon létre egy új konzolalkalmazást a névvel RoomsQuickstart. Ez a parancs egy egyszerű ""Helló világ!" alkalmazás" C#-projektet hoz létre egyetlen forrásfájllal: Program.cs.

dotnet new console -o RoomsQuickstart

Módosítsa a könyvtárat az újonnan létrehozott alkalmazásmappára, és használja a dotnet build parancsot az alkalmazás fordításához.

cd RoomsQuickstart
dotnet build

Telepítse a(z) csomagot

Telepítse a .NET-hez készült Azure Communication Rooms ügyfélkódtárat a [NuGet][https://www.nuget.org/]:

dotnet add package Azure.Communication.Rooms

A .NET 1.1.0-s vagy újabb verziójához az Azure Communication Rooms ügyfélkódtárát kell használnia .

Az alkalmazás-keretrendszer beállítása

A fájlban Program.cs adja hozzá a következő kódot a szükséges névterek importálásához és az alapszintű programstruktúra létrehozásához.


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

Helyiségügyfél inicializálása

Hozzon létre egy új RoomsClient objektumot, amely új rooms objektumok létrehozásához és tulajdonságaik és életciklusuk kezeléséhez használható. A kérés hitelesítéséhez az ön Communications Service kapcsolati sztring fogjuk használni. A kapcsolati sztring kapcsolatos további információkért tekintse meg ezt a lapot.


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

Helyiség létrehozása

Helyiség résztvevőinek beállítása

Ahhoz, hogy beállíthassa, kik csatlakozhatnak egy helyiséghez, rendelkeznie kell a felhasználók identitásainak listájával. A felhasználók létrehozására és a hozzáférési jogkivonatok kiállítására vonatkozó utasításokat itt találja. Ha igény szerint szeretné létrehozni a felhasználókat, létrehozhatja őket a CommunicationIdentityClient.

A használatához CommunicationIdentityClienttelepítse a következő csomagot:

dotnet add package Azure.Communication.Identity

Importálja továbbá a csomag névterét Program.cs a fájl tetején:

using Azure.Communication.Identity;

Most az CommunicationIdentityClient inicializálható és a felhasználók létrehozásához használható:

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

Ezután hozza létre a szoba résztvevőinek listáját a felhasználókra való hivatkozással:

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

A helyiség inicializálása

Hozzon létre egy újat room a participants fenti kódrészletben meghatározottak alapján:

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

Mivel rooms kiszolgálóoldali entitások, érdemes lehet nyomon követni és megőrizni a roomId választott tárolóeszközt. Hivatkozhat egy roomId objektum tulajdonságainak megtekintésére vagy frissítésére room .

A PSTN kitárcsázási funkciójának engedélyezése egy helyiségben

A room PSTN-kitárcsázás alapértelmezés szerint le van tiltva. A PSTN-kitárcsázás a létrehozáskor engedélyezhető room a paraméter igazként való definiálásával pstnDialOutEnabled . Ez a képesség a paraméter frissítési kérésének pstnDialOutEnabled kiadásával is módosíthatóroom.

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

Meglévő helyiség tulajdonságainak lekérése

Egy meglévő room adatainak lekéréséhez hivatkozzon a roomIdkövetkezőre:


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

Helyiség élettartamának frissítése

Az élettartam room módosítható a paraméterek és ValidUntil a paraméterek frissítési ValidFrom kérésének kiadásával. A szoba legfeljebb hat hónapig érvényes.


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

Az összes aktív szoba listázása

Az összes aktív helyiség lekéréséhez használja az GetRoomsAsync ügyfélen közzétett metódust.


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

Új résztvevők hozzáadása vagy meglévő résztvevők frissítése

Új résztvevők hozzáadásához roomhasználja az AddParticipantsAsync ügyfélen közzétett metódust.


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

Azok a résztvevők, amelyeket hozzáadtak egy room híváshoz, jogosultak lesznek a hívásokhoz való csatlakozásra. A frissített résztvevők látni fogják az újat role a hívásban.

Résztvevők listájának lekérése

Meglévő résztvevők listájának room lekérése a következő hivatkozással roomId:


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

Résztvevők eltávolítása

Ha el szeretne távolítani egy résztvevőt egy room résztvevőből, és vissza szeretné vonni a hozzáférését, használja a RemoveParticipantsAsync módszert.


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

Helyiség törlése

Ha fel szeretne bontani egy meglévőt room, explicit törlési kérelmet is kiadhat. Az összes rooms és a hozzájuk társított erőforrások automatikusan törlődnek az érvényességi idő és a türelmi időszak végén.


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

A kód futtatása

A kód futtatásához győződjön meg arról, hogy azon a könyvtáron van, ahol a Program.cs fájl található.


dotnet run

A várt kimenet az összes befejezett műveletet ismerteti:


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

Referenciadokumentáció

Az Azure Communication Services-szobák képességeinek teljes halmazát a .NET SDK-referencia vagy a REST API-referencia alapján ismerheti meg.

Ez a rövid útmutató segít az Azure Communication Services-szobák használatának megkezdésében. Az A room egy olyan kiszolgáló által felügyelt kommunikációs terület, amin egy ismert, rögzített résztvevőkből álló csoport előre meghatározott ideig együttműködhet. A szobák fogalmi dokumentációja további részleteket és használati eseteket roomstartalmaz.

Előfeltételek

Mintakód

A GitHubon áttekintheti és letöltheti a gyors üzembe helyezéshez szükséges mintakódot.

Beállítás

Új Java-alkalmazás létrehozása

Egy konzolablakban (például parancsmag, PowerShell vagy Bash) a mvn paranccsal hozzon létre egy új konzolalkalmazást a névvel rooms-quickstart. Ez a parancs létrehoz egy egyszerű ""Helló világ!" alkalmazás" Java-projektet egyetlen forrásfájllal: App.java.

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

A csomag belefoglalása

A Java 1.1.0-s vagy újabb verziójához az Azure Communication Rooms ügyfélkódtárát kell használnia .

A BOM-fájl belefoglalása

Adja hozzá a azure-sdk-bom projekthez, hogy függőséget vállaljon a tár általános rendelkezésre állási (GA) verziójától. Az alábbi kódrészletben cserélje le a(z) {bom_version_to_target} helyőrzőt a verziószámra. A BOM-ról további információt az Azure SDK BOM olvasási útmutatójában talál.

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

majd adja meg a közvetlen függőséget a verziócímke nélküli függőségek szakaszba.

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

Közvetlen függőség belefoglalása

Ha a kódtár egy olyan verziójától szeretne függőséget vállalni, amely nem szerepel az anyagjegyzékben, adja hozzá a közvetlen függőséget a projekthez az alábbiak szerint.

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

Alkalmazás-keretrendszer beállítása

Nyissa meg a /src/main/java/com/communication/quickstart könyvtárat, és nyissa meg a App.java fájlt. Adja hozzá a következő kódot:


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

Helyiségügyfél inicializálása

Hozzon létre egy új RoomsClient objektumot, amely új rooms objektumok létrehozásához és tulajdonságaik és életciklusuk kezeléséhez használható. A kérés hitelesítéséhez az ön Communications Service kapcsolati sztring fogjuk használni. A kapcsolati sztring kapcsolatos további információkért tekintse meg ezt a lapot.


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

Helyiség létrehozása

Helyiség résztvevőinek beállítása

Ahhoz, hogy beállíthassa, kik csatlakozhatnak egy helyiséghez, rendelkeznie kell a felhasználók identitásainak listájával. A felhasználók létrehozására és a hozzáférési jogkivonatok kiállítására vonatkozó utasításokat itt találja. Ha igény szerint szeretné létrehozni a felhasználókat, létrehozhatja őket a CommunicationIdentityClient.

A használathoz CommunicationIdentityClientadja hozzá a következő csomagot:

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

Importálja a csomagot a fájl tetejére App.java :

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

Most az CommunicationIdentityClient inicializálható és a felhasználók létrehozásához használható:

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

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

Ezután hozza létre a szoba résztvevőinek listáját a felhasználókra való hivatkozással:

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

A helyiség inicializálása

Hozzon létre egy újat room a roomParticipants fenti kódrészletben meghatározottak alapján:

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

Mivel rooms kiszolgálóoldali entitások, érdemes lehet nyomon követni és megőrizni a roomId választott tárolóeszközt. Hivatkozhat egy roomId objektum tulajdonságainak megtekintésére vagy frissítésére room .

A PSTN kitárcsázási funkciójának engedélyezése egy helyiségben

A room PSTN-kitárcsázás alapértelmezés szerint le van tiltva. A PSTN-kitárcsázás a létrehozáskor engedélyezhető room a paraméter igazként való definiálásával pstnDialOutEnabled . Ez a képesség a paraméter frissítési kérésének pstnDialOutEnabled kiadásával is módosíthatóroom.

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

Meglévő helyiség tulajdonságainak lekérése

Egy meglévő room adatainak lekéréséhez hivatkozzon a roomIdkövetkezőre:


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

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

Helyiség élettartamának frissítése

Az élettartam room módosítható a paraméterek és ValidUntil a paraméterek frissítési ValidFrom kérésének kiadásával. A szoba legfeljebb hat hónapig érvényes.


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

Résztvevők hozzáadása vagy frissítése

Résztvevők hozzáadásához vagy frissítéséhez roomhasználja az addOrUpdateParticipants ügyfélen közzétett módszert.


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

Azok a résztvevők, amelyeket hozzáadtak egy room híváshoz, jogosultak lesznek a hívásokhoz való csatlakozásra.

Résztvevők listájának lekérése

Meglévő résztvevők listájának room lekérése a következő hivatkozással roomId:


// Get list of participants
try {

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

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

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

Résztvevők eltávolítása

Ha el szeretne távolítani egy résztvevőt egy room résztvevőből, és vissza szeretné vonni a hozzáférését, használja a removeParticipants módszert.


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

Az összes aktív szoba listázása

Az Összes aktív rooms lekérése az Azure Communication Services-erőforrásban.

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

Helyiség törlése

Ha fel szeretne bontani egy meglévőt room, explicit törlési kérelmet is kiadhat. Az összes rooms és a hozzájuk társított erőforrások automatikusan törlődnek az érvényességi idő és a türelmi időszak végén.


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

A kód futtatása

A kód futtatásához nyissa meg a fájlt tartalmazó pom.xml könyvtárat, és fordítsa le a programot.


mvn compile

Ezután hozza létre a csomagot:


mvn package

Hajtsa végre az alkalmazást.

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

A várt kimenet az összes befejezett műveletet ismerteti:


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

Referenciadokumentáció

Az Azure Communication Services-szobák képességeinek teljes halmazát a Java SDK-referencia vagy a REST API-referencia alapján ismerheti meg.

Ez a rövid útmutató segít az Azure Communication Services-szobák használatának megkezdésében. Az A room egy olyan kiszolgáló által felügyelt kommunikációs terület, amin egy ismert, rögzített résztvevőkből álló csoport előre meghatározott ideig együttműködhet. A szobák fogalmi dokumentációja további részleteket és használati eseteket roomstartalmaz.

Előfeltételek

Mintakód

A GitHubon áttekintheti és letöltheti a gyors üzembe helyezéshez szükséges mintakódot.

Beállítás

Új Python-alkalmazás létrehozása

Egy terminál- vagy konzolablakban hozzon létre egy új mappát az alkalmazás számára, és keresse meg.

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

Telepítse a(z) csomagot

A Python 1.1.0-s vagy újabb verziójához az Azure Communication Rooms ügyfélkódtárát kell használnia .

Egy konzol parancssorából keresse meg a rooms.py fájlt tartalmazó könyvtárat, majd hajtsa végre a következő parancsot:

pip install azure-communication-rooms

Az alkalmazás-keretrendszer beállítása

Hozzon létre egy új fájlt, rooms-quickstart.py és adja hozzá az alapszintű programstruktúrát.

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

Helyiségügyfél inicializálása

Hozzon létre egy új RoomsClient objektumot, amely új rooms objektumok létrehozásához és tulajdonságaik és életciklusuk kezeléséhez használható. A kérés hitelesítéséhez az ön Communications Service kapcsolati sztring fogjuk használni. A kapcsolati sztring kapcsolatos további információkért tekintse meg ezt a lapot.

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

Helyiség létrehozása

Helyiség résztvevőinek beállítása

Ahhoz, hogy beállíthassa, kik csatlakozhatnak egy helyiséghez, rendelkeznie kell a felhasználók identitásainak listájával. A felhasználók létrehozására és a hozzáférési jogkivonatok kiállítására vonatkozó utasításokat itt találja. Ha igény szerint szeretné létrehozni a felhasználókat, létrehozhatja őket a CommunicationIdentityClient.

A használatához CommunicationIdentityClienttelepítse a következő csomagot:

pip install azure-communication-identity

Importálja továbbá a csomag névterét rooms-quickstart.py a fájl tetején:

from azure.communication.identity import (
    CommunicationIdentityClient
)

Most az CommunicationIdentityClient inicializálható és a felhasználók létrehozásához használható:

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

Ezután hozza létre a szoba résztvevőinek listáját a felhasználókra való hivatkozással:

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

A helyiség inicializálása

Hozzon létre egy újat room a participants fenti kódrészletben meghatározottak alapján:

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

Mivel rooms kiszolgálóoldali entitások, érdemes lehet nyomon követni és megőrizni a room.id választott tárolóeszközt. Hivatkozhat egy id objektum tulajdonságainak megtekintésére vagy frissítésére room .

A PSTN kitárcsázási funkciójának engedélyezése egy helyiségben

A room PSTN-kitárcsázás alapértelmezés szerint le van tiltva. A PSTN-kitárcsázás a létrehozáskor engedélyezhető room a paraméter igazként való definiálásával pstn_dial_out_enabled . Ez a képesség a paraméter frissítési kérésének pstn_dial_out_enabled kiadásával is módosíthatóroom.

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

Meglévő helyiség tulajdonságainak lekérése

Egy meglévő room adatainak lekéréséhez hivatkozzon a idkövetkezőre:

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

Helyiség élettartamának frissítése

Az élettartam room módosítható a paraméterek és valid_until a paraméterek frissítési valid_from kérésének kiadásával. A szoba legfeljebb hat hónapig érvényes.

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

Az összes aktív szoba listázása

Az erőforrás alatt létrehozott összes aktív szoba lekéréséhez használja az list_rooms ügyfélen közzétett metódust.

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

Résztvevők hozzáadása vagy frissítése

Új résztvevők hozzáadásához vagy meglévő roomrésztvevők frissítéséhez használja az add_or_update_participants ügyfélen közzétett módszert.

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

Azok a résztvevők, amelyeket hozzáadtak egy room híváshoz, jogosultak lesznek a hívásokhoz való csatlakozásra.

Résztvevők listázása egy szobában

Meglévő résztvevők listájának room lekérése a következő hivatkozással room_id:

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

Résztvevők eltávolítása

Ha el szeretne távolítani egy résztvevőt egy room résztvevőből, és vissza szeretné vonni a hozzáférését, használja a remove_participants módszert.

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

Helyiség törlése

Ha fel szeretne bontani egy meglévőt room, explicit törlési kérelmet is kiadhat. Az összes rooms és a hozzájuk társított erőforrások automatikusan törlődnek az érvényességi idő és a türelmi időszak végén.

# Delete Room

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

A kód futtatása

A kód futtatásához győződjön meg arról, hogy azon a könyvtáron van, ahol a rooms-quickstart.py fájl található.


python rooms-quickstart.py

A várt kimenet az összes befejezett műveletet ismerteti:


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

Referenciadokumentáció

Az Azure Communication Services-szobák képességeinek teljes halmazát a Python SDK-referencia vagy a REST API-referencia alapján ismerheti meg.

Ez a rövid útmutató segít az Azure Communication Services-szobák használatának megkezdésében. Az A room egy olyan kiszolgáló által felügyelt kommunikációs terület, amin egy ismert, rögzített résztvevőkből álló csoport előre meghatározott ideig együttműködhet. A szobák fogalmi dokumentációja további részleteket és használati eseteket roomstartalmaz.

Előfeltételek

Mintakód

A GitHubon áttekintheti és letöltheti a gyors üzembe helyezéshez szükséges mintakódot.

Beállítás

Új webalkalmazás létrehozása

Egy terminál- vagy konzolablakban hozzon létre egy új mappát az alkalmazás számára, és keresse meg.

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

Futtassa npm init az alapértelmezett beállításokkal rendelkező package.json-fájl létrehozásához.

npm init -y

Hozzon létre egy új fájlt index.js , amelyben hozzá lesz adva a rövid útmutató kódja.

A csomagok telepítése

A JavaScript 1.1.0-s vagy újabb verziójához az Azure Communication Rooms ügyfélkódtárát kell használnia .

Az alábbi Communication Services SDK-k JavaScripthez való telepítéséhez használja a npm install parancsot.

npm install @azure/communication-rooms --save

Az alkalmazás-keretrendszer beállítása

A fájlban index.js adja hozzá a következő kódot. Hozzáadjuk a függvény rövid útmutatójának kódját main .

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

Helyiségügyfél inicializálása

Hozzon létre egy új RoomsClient objektumot, amely új rooms objektumok létrehozásához és tulajdonságaik és életciklusuk kezeléséhez használható. A kérés hitelesítéséhez az ön Communications Service kapcsolati sztring fogjuk használni. A kapcsolati sztring kapcsolatos további információkért tekintse meg ezt a lapot.

Adja hozzá a következő kódot a main függvényen index.js belül.

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

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

Helyiség létrehozása

Helyiség résztvevőinek beállítása

Ahhoz, hogy beállíthassa, kik csatlakozhatnak egy helyiséghez, rendelkeznie kell a felhasználók identitásainak listájával. A felhasználók létrehozására és a hozzáférési jogkivonatok kiállítására vonatkozó utasításokat itt találja. Ha igény szerint szeretné létrehozni a felhasználókat, létrehozhatja őket a CommunicationIdentityClient.

A CommunicationIdentityClient használatához telepítse a következő npm-csomagot:

npm install @azure/communication-identity --save

Adja hozzá a következő szükséges csomagot is a index.js fájl tetején:

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

Most az CommunicationIdentityClient inicializálható és a felhasználók létrehozásához használható:

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

Ezután hozza létre a szoba résztvevőinek listáját a felhasználókra való hivatkozással:

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

A helyiség inicializálása

Hozzon létre egy újat room a participants fenti kódrészletben meghatározottak alapján:

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

Mivel rooms kiszolgálóoldali entitások, érdemes lehet nyomon követni és megőrizni a roomId választott tárolóeszközt. Hivatkozhat egy roomId objektum tulajdonságainak megtekintésére vagy frissítésére room .

A PSTN kitárcsázási funkciójának engedélyezése egy helyiségben

A room PSTN-kitárcsázás alapértelmezés szerint le van tiltva. A PSTN-kitárcsázás a létrehozáskor engedélyezhető room a paraméter igazként való definiálásával pstnDialOutEnabled . Ez a képesség a paraméter frissítési kérésének pstnDialOutEnabled kiadásával is módosíthatóroom.

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

Meglévő helyiség tulajdonságainak lekérése

Egy meglévő room adatainak lekéréséhez hivatkozzon a roomIdkövetkezőre:

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

Helyiség élettartamának frissítése

Az élettartam room módosítható a paraméterek és validUntil a paraméterek frissítési validFrom kérésének kiadásával. A szoba legfeljebb hat hónapig érvényes.

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

Szobák listájának lekérése

Kérje le a szobák listáját a listRooms következő módszerrel:

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

Résztvevők hozzáadása vagy frissítése

Új résztvevők hozzáadásához roomhasználja az addOrUpdateParticipants ügyfélen közzétett metódust. Ez a módszer akkor is frissíti a résztvevőket, ha már léteznek a szobában.

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

Azok a résztvevők, amelyeket hozzáadtak egy room híváshoz, jogosultak lesznek a hívásokhoz való csatlakozásra.

Résztvevők listájának lekérése

Meglévő résztvevők listájának room lekérése a következő hivatkozással roomId:

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

Résztvevők eltávolítása

Ha el szeretne távolítani egy résztvevőt egy room résztvevőből, és vissza szeretné vonni a hozzáférését, használja a removeParticipants módszert.

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

Helyiség törlése

Ha fel szeretne bontani egy meglévőt room, explicit törlési kérelmet is kiadhat. Az összes rooms és a hozzájuk társított erőforrások automatikusan törlődnek az érvényességi idő és a türelmi időszak végén.

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

A kód futtatása

A kód futtatásához győződjön meg arról, hogy azon a könyvtáron van, ahol a index.js fájl található.

node index.js

A várt kimenet az összes befejezett műveletet ismerteti:

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

Referenciadokumentáció

Az Azure Communication Services-szobák képességeinek teljes halmazát a JavaScript SDK-referencia vagy a REST API-referencia alapján ismerheti meg.

Következő lépések

Megtudhatja, hogyan csatlakozhat egy szobahíváshoz a szoba létrehozása és konfigurálása után.

Ebben a szakaszban a következőket tanulta meg:

  • Új szoba létrehozása
  • Helyiség tulajdonságainak lekérése
  • Helyiség tulajdonságainak frissítése
  • Helyiség törlése

A következőket is érdemes lehet elvégeznie: