Rychlý start: Vytvoření a správa prostředku místnosti
Tento rychlý start vám pomůže začít pracovat s místnostmi Azure Communication Services. A room
je komunikační prostor spravovaný serverem pro známou, pevnou sadu účastníků, kteří mohou spolupracovat na předem určené době trvání. Koncepční dokumentace místností se zabývá více podrobnostmi a případy použití pro rooms
.
Objektový model
Následující tabulka uvádí hlavní vlastnosti room
objektů:
Název | Popis |
---|---|
roomId |
Jedinečný room identifikátor. |
validFrom |
Nejdříve je možné použít.room |
validUntil |
Čas posledního room použití. |
pstnDialOutEnabled |
Povolte nebo zakažte vytáčení na číslo veřejné telefonní sítě v místnosti. |
participants |
Seznam účastníků .room Zadáno jako .CommunicationUserIdentifier |
roleType |
Role účastníka místnosti. Může být buď Presenter , Attendee nebo Consumer . |
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Aktivní prostředek služby Communication Services a připojovací řetězec. Vytvořte prostředek komunikační služby.
- Nainstalujte Azure CLI.
- Připojovací řetězec můžete získat z webu Azure Portal kliknutím na klíče v nastavení.
Nastavení
Přidání rozšíření
Pomocí příkazu přidejte rozšíření Azure Communication Services pro Azure CLI az extension
.
az extension add --name communication
Přihlášení k Azure CLI
Musíte se přihlásit k Azure CLI. Můžete se přihlásit spuštěním az login
příkazu z terminálu a zadáním přihlašovacích údajů.
Uložení připojovací řetězec do proměnné prostředí
Proměnnou AZURE_COMMUNICATION_CONNECTION_STRING
prostředí můžete nakonfigurovat tak, aby používala operace klíčů Azure CLI, aniž byste museli předávat --connection_string
připojovací řetězec. Pokud chcete nakonfigurovat proměnnou prostředí, otevřete okno konzoly a na následujících kartách vyberte operační systém. Nahraďte <connectionString>
skutečnými připojovací řetězec.
setx AZURE_COMMUNICATION_CONNECTION_STRING "<connectionString>"
Po přidání proměnné prostředí možná budete muset restartovat všechny spuštěné programy, které potřebují přečíst proměnnou prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Operace
Vytvoření místnosti
rooms create
Pomocí příkazu vytvořte místnost.
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>"
- Volitelně můžete
<participantId>
určit typ účastníka jako prezentujícího, účastníky příjemce nebo účastníky. Pokud nezadáte hodnotu, výchozí hodnota je prázdná. - Nahraďte
<connection-string>
připojovací řetězec služby Azure Communication Services. - Volitelně můžete
<valid-from>
zadat časové razítko, kdy je místnost otevřená pro připojení, ve formátu ISO8601, např. 2022-07-14T10:21. - Volitelně můžete
<valid-until>
zadat časové razítko, kdy se místnost už nedá připojit, v ISO8601 formátu, např. 2022-07-14T10:21. - Volitelně můžete
<pstn-dial-out-enabled>
nastavit tento příznak (Pravda nebo Nepravda) a povolit nebo zakázat vytáčení veřejné telefonní sítě pro místnost. Ve výchozím nastavení je tento příznak při vytváření místnosti nastavený na False.
Pokud jste připojovací řetězec uložili do proměnných prostředí, jak je uvedeno výše, nebudete je muset předat do příkazu.
az communication rooms create
Povolení funkce vytáčení do veřejné telefonní sítě pro místnost
Vytáčení veřejné telefonní sítě je možné povolit rooms create
definováním parametru --pstn-dial-out-enabled
jako True. Tuto funkci lze také upravit rooms update
zadáním parametru --pstn-dial-out-enabled
.
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>"
- Pokud chcete povolit nebo zakázat vytáčení veřejné telefonní sítě pro místnost, nastavte
<pstn-dial-out-enabled>
příznak (Pravda nebo Nepravda).
Získejte pokoje
Příkaz rooms get
vrátí atributy existující místnosti.
az communication rooms get --room "<roomId>"
- Nahraďte
<roomId>
ID místnosti.
Aktualizace časového rámce místnosti
Časové razítko místnosti můžete aktualizovat. Před voláním room update
příkazu se ujistěte, že jste získali novou místnost s platným časovým rámcem.
az communication rooms update --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
- Nahraďte
<valid-from>
časovým razítkem ve formátu ISO8601, např. 2022-07-14T10:21, abyste určili, kdy je místnost otevřena pro připojení. Měly by být použity společně s--valid-until
. - Nahraďte
<valid-until>
časovým razítkem ve formátu ISO8601, např. 2022-07-14T10:21, abyste určili, kdy se místnost už nedá připojit. Měly by být použity společně s--valid-from
. - Pokud chcete povolit nebo zakázat vytáčení veřejné telefonní sítě pro místnost, nastavte
<pstn-dial-out-enabled>
tento příznak (Pravda nebo Nepravda). Měly by být použity společně s--pstn-dial-out-enabled
. - Nahraďte
<roomId>
ID místnosti.
Zobrazit seznam všech aktivních místností
Příkaz rooms list
vrátí všechny aktivní místnosti patřící k vašemu prostředku Azure Communication Services.
az communication rooms list
Přidání nových účastníků nebo aktualizace existujících účastníků
Když vytvoříte místnost, můžete ji aktualizovat přidáním nového účastníka nebo aktualizací existujícího účastníka. Před voláním room participant add-or-update
příkazu se ujistěte, že jste získali nového uživatele.
identity user create
Pomocí příkazu vytvořte nového účastníka identifikovaného uživatelem participantId
.
az communication identity user create
Přidejte uživatele jako účastníka do místnosti.
az communication rooms participant add-or-update --attendee-participant "<participantId>" --room "<roomId>"
- Nahraďte
<participantId>
ID účastníka. Pokud v<participantId>
místnosti neexistuje, přidá se účastník do místnosti jako role účastníka. Jinak se role účastníka aktualizuje na roli účastníka. - Nahraďte
<roomId>
ID místnosti.
Získání seznamu účastníků v místnosti
az communication rooms participant get --room "<roomId>"
- Nahraďte
<roomId>
ID místnosti.
Odebrání účastníka z místnosti
Účastníka místnosti můžete z místnosti odebrat pomocí funkce rooms participant -remove
.
az communication rooms participant remove --room "<roomId>" --participants "<participant1>" "<participant2>" "<participant3>"
- Nahraďte
<roomId>
ID místnosti. - Nahraďte
<participant1>
identifikátory<participant3>
uživatele,<participant2>
které jste získali dříve spuštěnímidentity user create
příkazu.
Odstranění místnosti
Podobně jako při vytváření místnosti můžete místnost odstranit.
Pomocí room delete
příkazu odstraňte existující místnost.
az communication rooms delete --room "<roomId>"
- Nahraďte
<roomId>
ID místnosti.
Tento rychlý start vám pomůže začít pracovat s místnostmi Azure Communication Services. A room
je komunikační prostor spravovaný serverem pro známou, pevnou sadu účastníků, kteří mohou spolupracovat na předem určené době trvání. Koncepční dokumentace místností se zabývá více podrobnostmi a případy použití pro rooms
.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Aktivní prostředek služby Communication Services a připojovací řetězec. Vytvořte prostředek komunikační služby.
- Nejnovější verze klientské knihovny .NET Core pro váš operační systém.
Ukázkový kód
Ukázkový kód pro tento rychlý start si můžete prohlédnout a stáhnout na GitHubu.
Nastavení
Vytvoření nové aplikace jazyka C#
V okně konzoly (například cmd, PowerShell nebo Bash) pomocí dotnet new
příkazu vytvořte novou konzolovou aplikaci s názvem RoomsQuickstart
. Tento příkaz vytvoří jednoduchý projekt "Hello World" C# s jedním zdrojovým souborem: Program.cs.
dotnet new console -o RoomsQuickstart
Změňte adresář na nově vytvořenou složku aplikace a pomocí dotnet build
příkazu zkompilujte aplikaci.
cd RoomsQuickstart
dotnet build
Nainstalujte balíček .
Nainstalujte klientskou knihovnu Azure Communication Rooms pro .NET s [NuGet][https://www.nuget.org/]:
dotnet add package Azure.Communication.Rooms
Budete muset použít klientskou knihovnu Azure Communication Rooms pro .NET verze 1.1.0 nebo vyšší.
Nastavení architektury aplikace
Program.cs
Do souboru přidejte následující kód pro import požadovaných oborů názvů a vytvořte základní strukturu programu.
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
}
}
}
Inicializace klienta místnosti
Vytvořte nový RoomsClient
objekt, který se použije k vytvoření nových rooms
a správě jejich vlastností a životního cyklu. K ověření požadavku se použije připojovací řetězec vašeho Communications Service
požadavku. Další informace o připojovací řetězec najdete na této stránce.
// Find your Communication Services resource in the Azure portal
var connectionString = "<connection_string>";
RoomsClient roomsClient = new RoomsClient(connectionString);
Vytvoření místnosti
Nastavení účastníků místnosti
Abyste mohli nastavit, kdo se může připojit k místnosti, budete muset mít seznam identit těchto uživatelů. Tady můžete postupovat podle pokynů pro vytváření uživatelů a vydávání přístupových tokenů. Případně pokud chcete vytvořit uživatele na vyžádání, můžete je vytvořit pomocí nástroje CommunicationIdentityClient
. ACS Rooms aktuálně podporuje účastníka místnosti typu CommunicationUserIdentifier pouze pomocí jiných typů CommunicationIdentity způsobí chybu za běhu.
Chcete-li použít CommunicationIdentityClient
, nainstalujte následující balíček:
dotnet add package Azure.Communication.Identity
Naimportujte také obor názvů balíčku v horní části Program.cs
souboru:
using Azure.Communication.Identity;
CommunicationIdentityClient
Nyní je možné inicializovat a použít k vytvoření uživatelů:
// Create identities for users who will join the room
CommunicationIdentityClient identityClient = new CommunicationIdentityClient(connectionString);
CommunicationUserIdentifier user1 = identityClient.CreateUser();
CommunicationUserIdentifier user2 = identityClient.CreateUser();
Potom vytvořte seznam účastníků místnosti tak, že na tyto uživatele odkazujete:
List<RoomParticipant> participants = new List<RoomParticipant>()
{
new RoomParticipant(user1) { Role = ParticipantRole.Presenter },
new RoomParticipant(user2) // The default participant role is ParticipantRole.Attendee
};
Inicializace místnosti
Vytvořte novou room
pomocí definovaného participants
fragmentu kódu výše:
// 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);
Vzhledem k tomu, že rooms
se jedná o entity na straně serveru, můžete chtít sledovat a uchovávat roomId
požadované médium úložiště. Můžete odkazovat roomId
na zobrazení nebo aktualizaci vlastností objektu room
.
Povolení funkce vytáčení do veřejné telefonní sítě pro místnost
Ve výchozím nastavení je pro každý z nich room
zakázané vytáčení do veřejné telefonní sítě. Vytáčení veřejné telefonní sítě je možné povolit při room
vytváření definováním parametru pstnDialOutEnabled
jako true. Tato funkce může být také upravena room
tak, že vydá žádost o aktualizaci parametru pstnDialOutEnabled
.
// 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);
Získání vlastností existující místnosti
Načtěte podrobnosti existujícího room
odkazem na roomId
:
// Retrieve the room with corresponding ID
CommunicationRoom room = await roomsClient.GetRoomAsync(roomId);
Console.WriteLine("\nRetrieved room with id: " + room.Id);
Aktualizace doby života místnosti
Životnost room
aktualizace může být upravena vydáním žádosti o aktualizaci pro parametry ValidFrom
a ValidUntil
parametry. Místnost může být platná maximálně šest měsíců.
// 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);
Zobrazit seznam všech aktivních místností
Pokud chcete načíst všechny aktivní místnosti, použijte metodu vystavenou GetRoomsAsync
na klientovi.
// 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;
}
Přidání nových účastníků nebo aktualizace existujících účastníků
K přidání nových účastníků do klienta room
použijte metodu vystavenou AddParticipantsAsync
na klientovi.
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");
Účastníci, kteří byli přidáni do programu room
, mají nárok na připojení k hovorům. Účastníci, kteří byli aktualizováni, uvidí v hovoru nové role
.
Získání seznamu účastníků
Načtěte seznam účastníků existujícího room
odkazem na 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()}");
}
Odebrání účastníků
Pokud chcete odebrat účastníka z room
přístupu a odvolat přístup, použijte metodu RemoveParticipantsAsync
.
// 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");
Odstranit místnost
Pokud chcete zrušit existující room
žádost o odstranění, můžete vydat explicitní žádost o odstranění. Všechny rooms
a jejich přidružené prostředky se automaticky odstraní na konci platnosti plus období odkladu.
// Deletes the specified room
Response deleteRoomResponse = await roomsClient.DeleteRoomAsync(roomId);
Console.WriteLine("\nDeleted room with id: " + roomId);
Spuštění kódu
Pokud chcete kód spustit, ujistěte se, že jste v adresáři, kde je váš Program.cs
soubor.
dotnet run
Očekávaný výstup popisuje každou dokončenou akci:
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
Referenční dokumentace
Přečtěte si o úplné sadě funkcí místností Azure Communication Services z referenčních informací k sadě .NET SDK nebo referenčních informací k rozhraní REST API.
Tento rychlý start vám pomůže začít pracovat s místnostmi Azure Communication Services. A room
je komunikační prostor spravovaný serverem pro známou, pevnou sadu účastníků, kteří mohou spolupracovat na předem určené době trvání. Koncepční dokumentace místností se zabývá více podrobnostmi a případy použití pro rooms
.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Aktivní prostředek služby Communication Services a připojovací řetězec. Vytvořte prostředek komunikační služby.
- Java Development Kit (JDK) verze 8 nebo novější.
- Apache Maven
Ukázkový kód
Ukázkový kód pro tento rychlý start si můžete prohlédnout a stáhnout na GitHubu.
Nastavení
Vytvoření nové aplikace v Javě
V okně konzoly (například cmd, PowerShell nebo Bash) pomocí mvn
příkazu vytvořte novou konzolovou aplikaci s názvem rooms-quickstart
. Tento příkaz vytvoří jednoduchý projekt "Hello World" Java s jedním zdrojovým souborem: App.java.
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Zahrnout balíček
Musíte použít klientskou knihovnu Azure Communication Rooms pro Javu verze 1.1.0 nebo vyšší.
Zahrnutí souboru kusovníku
azure-sdk-bom
Zahrňte do projektu závislost na verzi obecné dostupnosti (GA) knihovny. V následujícím fragmentu kódu nahraďte zástupný symbol {bom_version_to_target} číslem verze.
Další informace o kusovníku najdete v souboru readme kusovníku sady Azure SDK.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
a vložte přímou závislost do oddílu závislostí bez značky verze.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-rooms</artifactId>
</dependency>
</dependencies>
Zahrnout přímou závislost
Pokud chcete závislost na konkrétní verzi knihovny, která není v kusovníku, přidejte do projektu přímou závislost následujícím způsobem.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-rooms</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
Nastavení architektury aplikací
Přejděte do adresáře /src/main/java/com/communication/quickstart a otevřete App.java
soubor. Přidejte následující kód:
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
}
}
Inicializace klienta místnosti
Vytvořte nový RoomsClient
objekt, který se použije k vytvoření nových rooms
a správě jejich vlastností a životního cyklu. K ověření požadavku se použije připojovací řetězec vašeho Communications Service
požadavku. Další informace o připojovací řetězec najdete na této stránce.
// Initialize the rooms client
// Find your Communication Services resource in the Azure portal
String connectionString = "<connection string>";
RoomsClient roomsClient = new RoomsClientBuilder().connectionString(connectionString).buildClient();
Vytvoření místnosti
Nastavení účastníků místnosti
Pokud chcete nastavit, kdo se může připojit k místnosti, musíte mít seznam identit těchto uživatelů. Tady můžete postupovat podle pokynů pro vytváření uživatelů a vydávání přístupových tokenů. Případně pokud chcete vytvořit uživatele na vyžádání, můžete je vytvořit pomocí nástroje CommunicationIdentityClient
. ACS Rooms aktuálně podporuje účastníka místnosti typu CommunicationUserIdentifier pouze pomocí jiných typů CommunicationIdentity způsobí chybu za běhu.
Chcete-li použít CommunicationIdentityClient
, přidejte následující balíček:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-identity</artifactId>
</dependency>
Naimportujte balíček na začátek App.java
souboru:
import com.azure.communication.identity.CommunicationIdentityClient;
import com.azure.communication.identity.CommunicationIdentityClientBuilder;
CommunicationIdentityClient
Nyní je možné inicializovat a použít k vytvoření uživatelů:
CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
.connectionString(connectionString)
.buildClient();
CommunicationUserIdentifier user1 = communicationClient.createUser();
CommunicationUserIdentifier user2 = communicationClient.createUser();
CommunicationUserIdentifier user3 = communicationClient.createUser();
Potom vytvořte seznam účastníků místnosti tak, že na tyto uživatele odkazujete:
//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));
Inicializace místnosti
Vytvořte novou room
pomocí definovaného roomParticipants
fragmentu kódu výše:
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());
Vzhledem k tomu, že rooms
se jedná o entity na straně serveru, můžete chtít sledovat a uchovávat roomId
požadované médium úložiště. Můžete odkazovat roomId
na zobrazení nebo aktualizaci vlastností objektu room
.
Povolení funkce vytáčení do veřejné telefonní sítě pro místnost
Ve výchozím nastavení je pro každý z nich room
zakázané vytáčení do veřejné telefonní sítě. Vytáčení veřejné telefonní sítě je možné povolit při room
vytváření definováním parametru pstnDialOutEnabled
jako true. Tato funkce může být také upravena room
tak, že vydá žádost o aktualizaci parametru pstnDialOutEnabled
.
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());
Získání vlastností existující místnosti
Načtěte podrobnosti existujícího room
odkazem na roomId
:
// Retrieve the room with corresponding ID
CommunicationRoom roomResult = roomsClient.getRoom(roomId);
System.out.println("Retrieved room with id: " + roomResult.getRoomId());
Aktualizace doby života místnosti
Životnost room
aktualizace může být upravena vydáním žádosti o aktualizaci pro parametry ValidFrom
a ValidUntil
parametry. Místnost může být platná maximálně šest měsíců.
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());
Přidání nebo aktualizace účastníků
Chcete-li přidat nebo aktualizovat účastníky do objektu room
, použijte metodu vystavenou addOrUpdateParticipants
na klientovi.
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");
Účastníci, kteří byli přidáni do programu room
, mají nárok na připojení k hovorům.
Získání seznamu účastníků
Načtěte seznam účastníků existujícího room
odkazem na 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);
}
Odebrání účastníků
Pokud chcete odebrat účastníka z room
přístupu a odvolat přístup, použijte metodu removeParticipants
.
// 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");
Zobrazit seznam všech aktivních místností
Načtěte všechny aktivní rooms
v rámci vašeho prostředku Azure Communication Services.
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);
}
Odstranit místnost
Pokud chcete zrušit existující room
žádost o odstranění, můžete vydat explicitní žádost o odstranění. Všechny rooms
a jejich přidružené prostředky se automaticky odstraní na konci platnosti plus období odkladu.
// Deletes the specified room
roomsClient.deleteRoomWithResponse(roomId, Context.NONE);
System.out.println("\nDeleted the room with ID: " + roomId);
Spuštění kódu
Pokud chcete kód spustit, přejděte do adresáře, který obsahuje pom.xml
soubor, a zkompilujte program.
mvn compile
Pak sestavte balíček:
mvn package
Spusťte aplikaci.
mvn exec:java -D"exec.mainClass"="com.communication.rooms.quickstart" -D"exec.cleanupDaemonThreads"="false"
Očekávaný výstup popisuje každou dokončenou akci:
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
Referenční dokumentace
Přečtěte si o úplné sadě funkcí místností Azure Communication Services z referenčních informací k sadě Java SDK nebo referenčních informací k rozhraní REST API.
Tento rychlý start vám pomůže začít pracovat s místnostmi Azure Communication Services. A room
je komunikační prostor spravovaný serverem pro známou, pevnou sadu účastníků, kteří mohou spolupracovat na předem určené době trvání. Koncepční dokumentace místností se zabývá více podrobnostmi a případy použití pro rooms
.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Aktivní prostředek služby Communication Services a připojovací řetězec. Vytvořte prostředek komunikační služby.
- Python 3.7+ pro váš operační systém
Ukázkový kód
Ukázkový kód pro tento rychlý start si můžete prohlédnout a stáhnout na GitHubu.
Nastavení
Vytvoření nové aplikace v Pythonu
V okně terminálu nebo konzoly vytvořte pro aplikaci novou složku a přejděte na ni.
mkdir acs-rooms-quickstart
cd acs-rooms-quickstart
Nainstalujte balíček .
Musíte použít klientskou knihovnu Azure Communication Rooms pro Python verze 1.1.0 nebo vyšší.
Z příkazového řádku konzoly přejděte do adresáře obsahujícího soubor rooms.py a spusťte následující příkaz:
pip install azure-communication-rooms
Nastavení architektury aplikace
Vytvořte volaný rooms-quickstart.py
nový soubor a přidejte základní strukturu programu.
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()
Inicializace klienta místnosti
Vytvořte nový RoomsClient
objekt, který se použije k vytvoření nových rooms
a správě jejich vlastností a životního cyklu. K ověření požadavku se použije připojovací řetězec vašeho Communications Service
požadavku. Další informace o připojovací řetězec najdete na této stránce.
#Find your Communication Services resource in the Azure portal
connection_string = '<connection_string>'
rooms_client = RoomsClient.from_connection_string(connection_string)
Vytvoření místnosti
Nastavení účastníků místnosti
Abyste mohli nastavit, kdo se může připojit k místnosti, budete muset mít seznam identit těchto uživatelů. Tady můžete postupovat podle pokynů pro vytváření uživatelů a vydávání přístupových tokenů. Případně pokud chcete vytvořit uživatele na vyžádání, můžete je vytvořit pomocí nástroje CommunicationIdentityClient
. ACS Rooms aktuálně podporuje účastníka místnosti typu CommunicationUserIdentifier pouze pomocí jiných typů CommunicationIdentity způsobí chybu za běhu.
Chcete-li použít CommunicationIdentityClient
, nainstalujte následující balíček:
pip install azure-communication-identity
Naimportujte také obor názvů balíčku v horní části rooms-quickstart.py
souboru:
from azure.communication.identity import (
CommunicationIdentityClient
)
CommunicationIdentityClient
Nyní je možné inicializovat a použít k vytvoření uživatelů:
# 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()
Potom vytvořte seznam účastníků místnosti tak, že na tyto uživatele odkazujete:
participant_1 = RoomParticipant(communication_identifier=user1, role=ParticipantRole.PRESENTER)
participant_2 = RoomParticipant(communication_identifier=user2, role=ParticipantRole.CONSUMER)
participants = [participant_1, participant_2]
Inicializace místnosti
Vytvořte novou room
pomocí definovaného participants
fragmentu kódu výše:
# 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)
Vzhledem k tomu, že rooms
se jedná o entity na straně serveru, můžete chtít sledovat a uchovávat room.id
požadované médium úložiště. Můžete odkazovat id
na zobrazení nebo aktualizaci vlastností objektu room
.
Povolení funkce vytáčení do veřejné telefonní sítě pro místnost
Ve výchozím nastavení je pro každý z nich room
zakázané vytáčení do veřejné telefonní sítě. Vytáčení veřejné telefonní sítě je možné povolit při room
vytváření definováním parametru pstn_dial_out_enabled
jako true. Tato funkce může být také upravena room
tak, že vydá žádost o aktualizaci parametru pstn_dial_out_enabled
.
# 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)
Získání vlastností existující místnosti
Načtěte podrobnosti existujícího room
odkazem na id
:
# Retrieves the room with corresponding ID
room_id = create_room.id
try:
get_room = rooms_client.get_room(room_id=room_id)
print("\nRetrieved room with id: ", get_room.id)
except HttpResponseError as ex:
print(ex)
Aktualizace doby života místnosti
Životnost room
aktualizace může být upravena vydáním žádosti o aktualizaci pro parametry valid_from
a valid_until
parametry. Místnost může být platná maximálně šest měsíců.
# 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)
Zobrazit seznam všech aktivních místností
Pokud chcete načíst všechny aktivní místnosti vytvořené v rámci vašeho prostředku, použijte metodu vystavenou list_rooms
na klientovi.
# 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)
Přidání nebo aktualizace účastníků
Pokud chcete přidat nové účastníky nebo aktualizovat existující účastníky v aplikaci room
, použijte metodu vystavenou add_or_update_participants
na klientovi.
# 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)
Účastníci, kteří byli přidáni do programu room
, mají nárok na připojení k hovorům.
Zobrazení seznamu účastníků v místnosti
Načtěte seznam účastníků existujícího room
odkazem na 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)
Odebrání účastníků
Pokud chcete odebrat účastníka z room
přístupu a odvolat přístup, použijte metodu remove_participants
.
# 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)
Odstranit místnost
Pokud chcete zrušit existující room
žádost o odstranění, můžete vydat explicitní žádost o odstranění. Všechny rooms
a jejich přidružené prostředky se automaticky odstraní na konci platnosti plus období odkladu.
# Delete Room
rooms_client.delete_room(room_id=room_id)
print("\nDeleted room with id: " + room_id)
Spuštění kódu
Pokud chcete kód spustit, ujistěte se, že jste v adresáři, kde je váš rooms-quickstart.py
soubor.
python rooms-quickstart.py
Očekávaný výstup popisuje každou dokončenou akci:
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
Referenční dokumentace
Přečtěte si o úplné sadě funkcí místností Azure Communication Services z referenčních informací k sadě Python SDK nebo referenčních informací k rozhraní REST API.
Tento rychlý start vám pomůže začít pracovat s místnostmi Azure Communication Services. A room
je komunikační prostor spravovaný serverem pro známou, pevnou sadu účastníků, kteří mohou spolupracovat na předem určené době trvání. Koncepční dokumentace místností se zabývá více podrobnostmi a případy použití pro rooms
.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Aktivní prostředek služby Communication Services a připojovací řetězec. Vytvořte prostředek komunikační služby.
- Nejnovější verze Node.js verze LTS a údržba LTS.
Ukázkový kód
Ukázkový kód pro tento rychlý start si můžete prohlédnout a stáhnout na GitHubu.
Nastavení
Vytvoření nové webové aplikace
V okně terminálu nebo konzoly vytvořte pro aplikaci novou složku a přejděte na ni.
mkdir acs-rooms-quickstart && cd acs-rooms-quickstart
Spuštěním příkazu npm init
vytvořte soubor package.json s výchozím nastavením.
npm init -y
Vytvořte nový soubor index.js
, do kterého se přidá kód pro tento rychlý start.
Instalace balíčků
Musíte použít klientskou knihovnu Azure Communication Rooms pro JavaScript verze 1.1.0 nebo vyšší.
npm install
Pomocí příkazu nainstalujte následující sady SDK komunikačních služeb pro JavaScript.
npm install @azure/communication-rooms --save
Nastavení architektury aplikace
index.js
Do souboru přidejte následující kód. Do funkce přidáme kód pro rychlý start 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);
})
Inicializace klienta místnosti
Vytvořte nový RoomsClient
objekt, který se použije k vytvoření nových rooms
a správě jejich vlastností a životního cyklu. K ověření požadavku se použije připojovací řetězec vašeho Communications Service
požadavku. Další informace o připojovací řetězec najdete na této stránce.
Do funkce přidejte následující kód index.js
main
.
const connectionString =
process.env["COMMUNICATION_CONNECTION_STRING"] ||
"endpoint=https://<resource-name>.communication.azure.com/;<access-key>";
// create RoomsClient
const roomsClient = new RoomsClient(connectionString);
Vytvoření místnosti
Nastavení účastníků místnosti
Pokud chcete nastavit, kdo se může připojit k místnosti, musíte mít seznam identit těchto uživatelů. Tady můžete postupovat podle pokynů pro vytváření uživatelů a vydávání přístupových tokenů. Případně pokud chcete vytvořit uživatele na vyžádání, můžete je vytvořit pomocí nástroje CommunicationIdentityClient
. ACS Rooms aktuálně podporuje účastníka místnosti typu CommunicationUserIdentifier pouze pomocí jiných typů CommunicationIdentity způsobí chybu za běhu.
Pokud chcete použít CommunicationIdentityClient, nainstalujte následující balíček npm:
npm install @azure/communication-identity --save
Do horní části index.js
souboru přidejte také následující požadovaný balíček:
const { CommunicationIdentityClient } = require('@azure/communication-identity');
CommunicationIdentityClient
Nyní je možné inicializovat a použít k vytvoření uživatelů:
// create identities for users
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
const user2 = await identityClient.createUserAndToken(["voip"]);
Potom vytvořte seznam účastníků místnosti tak, že na tyto uživatele odkazujete:
const participants = [
{
id: user1.user,
role: "Presenter",
},
{
id: user2.user,
role: "Consumer",
}
]
Inicializace místnosti
Vytvořte novou room
pomocí definovaného participants
fragmentu kódu výše:
// 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);
Vzhledem k tomu, že rooms
se jedná o entity na straně serveru, můžete chtít sledovat a uchovávat roomId
požadované médium úložiště. Můžete odkazovat roomId
na zobrazení nebo aktualizaci vlastností objektu room
.
Povolení funkce vytáčení do veřejné telefonní sítě pro místnost
Ve výchozím nastavení je pro každý z nich room
zakázané vytáčení do veřejné telefonní sítě. Vytáčení veřejné telefonní sítě je možné povolit při room
vytváření definováním parametru pstnDialOutEnabled
jako true. Tato funkce může být také upravena room
tak, že vydá žádost o aktualizaci parametru pstnDialOutEnabled
.
// 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);
Získání vlastností existující místnosti
Načtěte podrobnosti existujícího room
odkazem na roomId
:
// Retrieve the room with corresponding ID
const getRoom = await roomsClient.getRoom(roomId);
console.log("\nRetrieved room with id: ", getRoom.id);
Aktualizace doby života místnosti
Životnost room
aktualizace může být upravena vydáním žádosti o aktualizaci pro parametry validFrom
a validUntil
parametry. Místnost může být platná maximálně šest měsíců.
// 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);
Získání seznamu místností
Pomocí metody načtěte listRooms
seznam místností:
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;
}
Přidání nebo aktualizace účastníků
K přidání nových účastníků do klienta room
použijte metodu vystavenou addOrUpdateParticipants
na klientovi. Tato metoda také aktualizuje účastníka, pokud již v místnosti existuje.
// 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");
Účastníci, kteří byli přidáni do programu room
, mají nárok na připojení k hovorům.
Získání seznamu účastníků
Načtěte seznam účastníků existujícího room
odkazem na 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);
}
Odebrání účastníků
Pokud chcete odebrat účastníka z room
přístupu a odvolat přístup, použijte metodu removeParticipants
.
// 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");
Odstranit místnost
Pokud chcete zrušit existující room
žádost o odstranění, můžete vydat explicitní žádost o odstranění. Všechny rooms
a jejich přidružené prostředky se automaticky odstraní na konci platnosti plus období odkladu.
// Deletes the specified room
await roomsClient.deleteRoom(roomId);
console.log("\nDeleted room with id: ", roomId)
Spuštění kódu
Pokud chcete kód spustit, ujistěte se, že jste v adresáři, kde je váš index.js
soubor.
node index.js
Očekávaný výstup popisuje každou dokončenou akci:
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
Referenční dokumentace
Přečtěte si o úplné sadě funkcí místností Azure Communication Services z referenčních informací k sadě JavaScript SDK nebo referenčních informací k rozhraní REST API.
Další kroky
Po vytvoření a konfiguraci místnosti se dozvíte, jak se připojit k volání místností.
V této části jste se naučili:
- Vytvoření nové místnosti
- Získání vlastností místnosti
- Aktualizace vlastností místnosti
- Odstranění místnosti
Můžete také chtít:
- Informace o konceptech místností
- Informace o konceptech hlasových hovorů a videohovorů
- Projděte si ukázky azure Communication Services .