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 rooms
tartalmaz.
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 . CommunicationIdentifier Megadva . |
roleType |
A szoba résztvevőinek szerepe. Lehet , Presenter Attendee vagy Consumer . |
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Aktív Communication Services-erőforrás és kapcsolati sztring. Hozzon létre egy Communication Services-erőforrást.
- Telepítse az Azure CLI-t.
- A kapcsolati sztring az Azure Portalról a beállításokban található kulcsok kattintásával szerezheti be.
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 participantId
a 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 -remove
tá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 create
paranccsal.
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 rooms
tartalmaz.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Aktív Communication Services-erőforrás és kapcsolati sztring. Hozzon létre egy Communication Services-erőforrást.
- Az operációs rendszer legújabb . NET Core-ügyfélkódtára .
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 CommunicationIdentityClient
telepí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 roomId
kö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 room
haszná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 rooms
tartalmaz.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Aktív Communication Services-erőforrás és kapcsolati sztring. Hozzon létre egy Communication Services-erőforrást.
- A Java Development Kit (JDK) 8- vagy újabb verziója.
- Apache Maven
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 CommunicationIdentityClient
adja 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 roomId
kö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 room
haszná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 rooms
tartalmaz.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Aktív Communication Services-erőforrás és kapcsolati sztring. Hozzon létre egy Communication Services-erőforrást.
- Python 3.7+ az operációs rendszerhez.
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 CommunicationIdentityClient
telepí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 id
kö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ő room
ré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 rooms
tartalmaz.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Aktív Communication Services-erőforrás és kapcsolati sztring. Hozzon létre egy Communication Services-erőforrást.
- Az Node.js Active LTS és a Maintenance LTS legújabb verziói.
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 roomId
kö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 room
haszná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:
- Tudnivalók a szobák fogalmáról
- A hang- és videohívással kapcsolatos fogalmak ismertetése
- Azure Communication Services-minták áttekintése
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: