Mulai cepat: Membuat dan mengelola sumber daya ruangan
Mulai cepat ini membantu Anda mulai menggunakan Azure Communication Services Rooms. room
adalah ruang komunikasi yang dikelola server untuk sekumpulan peserta tetap yang diketahui untuk berkolaborasi selama durasi yang telah ditentukan. Dokumentasi konseptual kamar mencakup detail lebih lanjut dan kasus penggunaan untuk rooms
.
Model objek
Tabel berikut ini mencantumkan properti room
utama objek:
Nama | Deskripsi |
---|---|
roomId |
Pengidentifikasi unik room . |
validFrom |
Waktu paling awal yang room dapat digunakan. |
validUntil |
Waktu terbaru yang room dapat digunakan. |
pstnDialOutEnabled |
Aktifkan atau nonaktifkan panggilan keluar ke nomor PSTN di ruangan. |
participants |
Daftar peserta ke room . Ditentukan sebagai CommunicationUserIdentifier . |
roleType |
Peran peserta ruangan. Dapat berupa Presenter , , Attendee atau Consumer . |
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Communication Services aktif dan string koneksi. Buat sumber daya Azure Communication Services.
- Instal Azure CLI.
- Anda bisa mendapatkan string koneksi dari portal Azure dengan mengklik kunci di pengaturan.
Menyiapkan
Menambahkan ekstensi
Tambahkan ekstensi Azure Communication Services untuk Azure CLI dengan menggunakan az extension
perintah .
az extension add --name communication
Masuk ke Azure CLI
Anda perlu masuk ke Azure CLI. Anda dapat masuk dengan menjalankan az login
perintah dari terminal dan memberikan kredensial Anda.
Simpan string koneksi Anda dalam variabel lingkungan
Anda dapat mengonfigurasi AZURE_COMMUNICATION_CONNECTION_STRING
variabel lingkungan untuk menggunakan operasi kunci Azure CLI tanpa harus menggunakan --connection_string
untuk meneruskan string koneksi. Untuk mengonfigurasi variabel lingkungan, buka jendela konsol dan pilih sistem operasi Anda dari tab di bawah ini. Ganti <connectionString>
dengan string koneksi aktual Anda.
setx AZURE_COMMUNICATION_CONNECTION_STRING "<connectionString>"
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum menjalankan contoh.
Operasional
Membuat ruangan
rooms create
Gunakan perintah untuk membuat ruangan.
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>"
- Gunakan
<participantId>
secara opsional untuk menentukan jenis peserta sebagai penyaji-peserta, konsumen-peserta, atau peserta peserta. Jika Anda tidak menentukan nilai, defaultnya kosong. - Ganti
<connection-string>
dengan string koneksi Azure Communication Services Anda. - Gunakan
<valid-from>
secara opsional untuk menentukan tanda waktu saat ruangan terbuka untuk bergabung, dalam format ISO8601, misalnya: 2022-07-14T10:21. - Gunakan
<valid-until>
secara opsional untuk menentukan tanda waktu ketika ruangan tidak dapat lagi digabungkan, dalam format ISO8601, misalnya: 2022-07-14T10:21. - Gunakan
<pstn-dial-out-enabled>
secara opsional dengan mengatur bendera ini ("True" atau "False") untuk mengaktifkan atau menonaktifkan panggilan PSTN untuk ruangan. Secara default, bendera ini diatur ke "False" saat membuat ruangan.
Jika Anda telah menyimpan string koneksi dalam variabel lingkungan seperti yang dinyatakan di atas, Anda tidak perlu meneruskannya ke perintah .
az communication rooms create
Mengaktifkan kemampuan dial out PSTN untuk ruangan
Dial out PSTN dapat diaktifkan selama rooms create
dengan menentukan --pstn-dial-out-enabled
parameter sebagai "True". Kemampuan ini juga dapat dimodifikasi selama rooms update
dengan menentukan --pstn-dial-out-enabled
parameter .
az communication rooms create --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --connection-string "<connection-string>"
az communication rooms update --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
- Untuk mengaktifkan atau menonaktifkan panggilan PSTN untuk ruangan, atur
<pstn-dial-out-enabled>
bendera ("True" atau "False").
Dapatkan kamar
rooms get
Perintah mengembalikan atribut ruang yang ada.
az communication rooms get --room "<roomId>"
- Ganti
<roomId>
dengan ID kamar Anda.
Memperbarui jangka waktu ruangan
Anda dapat memperbarui tanda waktu ruangan. Sebelum memanggil room update
perintah, pastikan Anda telah memperoleh ruang baru dengan jangka waktu yang valid.
az communication rooms update --valid-from "<valid-from>" --valid-until "<valid-until>" --pstn-dial-out-enabled "<pstn-dial-out-enabled>" --room "<roomId>"
- Ganti
<valid-from>
dengan tanda waktu dalam format ISO8601, misalnya: 2022-07-14T10:21, untuk menentukan kapan ruangan terbuka untuk bergabung. Harus digunakan bersama dengan--valid-until
. - Ganti
<valid-until>
dengan tanda waktu dalam format ISO8601, misalnya: 2022-07-14T10:21, untuk menentukan kapan ruangan tidak dapat lagi bergabung. Harus digunakan bersama dengan--valid-from
. - Ganti
<pstn-dial-out-enabled>
atur bendera ini ("True" atau "False") untuk mengaktifkan atau menonaktifkan panggilan PSTN untuk ruangan. Harus digunakan bersama dengan--pstn-dial-out-enabled
. - Ganti
<roomId>
dengan ID kamar Anda.
Mencantumkan semua ruang aktif
rooms list
Perintah mengembalikan semua ruang aktif milik sumber daya Azure Communication Services Anda.
az communication rooms list
Menambahkan peserta baru atau memperbarui peserta yang sudah ada
Saat membuat ruangan, Anda dapat memperbarui ruangan dengan menambahkan peserta baru atau memperbarui peserta yang sudah ada di dalamnya. Sebelum memanggil room participant add-or-update
perintah, pastikan Anda telah memperoleh pengguna baru.
identity user create
Gunakan perintah untuk membuat peserta baru, yang diidentifikasi oleh participantId
.
az communication identity user create
Tambahkan pengguna sebagai peserta ke ruangan.
az communication rooms participant add-or-update --attendee-participant "<participantId>" --room "<roomId>"
- Ganti
<participantId>
dengan ID peserta Anda.<participantId>
Jika tidak ada di ruangan, peserta akan ditambahkan ke ruangan sebagai peran peserta. Jika tidak, peran peserta diperbarui ke peran peserta. - Ganti
<roomId>
dengan ID kamar Anda.
Mendapatkan daftar peserta dalam ruangan
az communication rooms participant get --room "<roomId>"
- Ganti
<roomId>
dengan ID kamar Anda.
Menghapus peserta dari ruangan
Anda dapat menghapus peserta ruangan dari ruangan dengan menggunakan rooms participant -remove
.
az communication rooms participant remove --room "<roomId>" --participants "<participant1>" "<participant2>" "<participant3>"
- Ganti
<roomId>
dengan ID kamar Anda. - Ganti
<participant1>
,<participant2>
,<participant3>
dengan ID pengguna Anda yang diperoleh sebelumnya dengan perintah berjalanidentity user create
.
Menghapus ruangan
Mirip dengan membuat ruangan, Anda juga dapat menghapus ruangan.
Gunakan room delete
perintah untuk menghapus ruang yang ada.
az communication rooms delete --room "<roomId>"
- Ganti
<roomId>
dengan ID kamar Anda.
Mulai cepat ini membantu Anda mulai menggunakan Azure Communication Services Rooms. room
adalah ruang komunikasi yang dikelola server untuk sekumpulan peserta tetap yang diketahui untuk berkolaborasi selama durasi yang telah ditentukan. Dokumentasi konseptual kamar mencakup detail lebih lanjut dan kasus penggunaan untuk rooms
.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Communication Services aktif dan string koneksi. Buat sumber daya Azure Communication Services.
- Versi terbaru dari .NET Core client library untuk sistem operasi Anda.
Kode Sampel
Anda dapat meninjau dan mengunduh kode sampel untuk mulai cepat ini di GitHub.
Menyiapkan
Membuat aplikasi C# baru
Di jendela konsol (seperti cmd, PowerShell, atau Bash), gunakan perintah dotnet new
untuk membuat aplikasi konsol baru dengan nama RoomsQuickstart
. Perintah ini membuat proyek C# "Halo Dunia" sederhana dengan file sumber tunggal: Program.cs.
dotnet new console -o RoomsQuickstart
Ubah direktori Anda ke folder aplikasi yang baru dibuat dan gunakan perintah dotnet build
untuk mengompilasi aplikasi Anda.
cd RoomsQuickstart
dotnet build
Pasang paket
Instal pustaka klien Azure Communication Rooms untuk .NET dengan [NuGet][https://www.nuget.org/]:
dotnet add package Azure.Communication.Rooms
Anda harus menggunakan pustaka klien Azure Communication Rooms untuk .NET versi 1.1.0 atau lebih tinggi.
Menyiapkan kerangka kerja aplikasi
Program.cs
Dalam file, tambahkan kode berikut untuk mengimpor namespace yang diperlukan dan membuat struktur program dasar.
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
}
}
}
Menginisialisasi klien ruangan
Buat objek baru RoomsClient
yang akan digunakan untuk membuat baru rooms
dan mengelola properti dan siklus hidupnya. String koneksi Anda Communications Service
akan digunakan untuk mengautentikasi permintaan. Untuk informasi selengkapnya tentang string koneksi, lihat halaman ini.
// Find your Communication Services resource in the Azure portal
var connectionString = "<connection_string>";
RoomsClient roomsClient = new RoomsClient(connectionString);
Membuat ruangan
Menyiapkan peserta ruangan
Untuk menyiapkan siapa yang dapat bergabung dengan ruangan, Anda harus memiliki daftar identitas pengguna tersebut. Anda dapat mengikuti instruksi di sini untuk membuat pengguna dan mengeluarkan token akses. Atau, jika Anda ingin membuat pengguna sesuai permintaan, Anda dapat membuatnya menggunakan CommunicationIdentityClient
. Acs Rooms saat ini mendukung peserta ruangan dengan jenis CommunicationUserIdentifier saja, menggunakan jenis CommunicationIdentity lainnya akan mengakibatkan kesalahan runtime.
Untuk menggunakan CommunicationIdentityClient
, instal paket berikut:
dotnet add package Azure.Communication.Identity
Selain itu, impor namespace paket di bagian atas file Anda Program.cs
:
using Azure.Communication.Identity;
Sekarang, CommunicationIdentityClient
dapat diinisialisasi dan digunakan untuk membuat pengguna:
// Create identities for users who will join the room
CommunicationIdentityClient identityClient = new CommunicationIdentityClient(connectionString);
CommunicationUserIdentifier user1 = identityClient.CreateUser();
CommunicationUserIdentifier user2 = identityClient.CreateUser();
Kemudian, buat daftar peserta ruangan dengan merujuk pengguna tersebut:
List<RoomParticipant> participants = new List<RoomParticipant>()
{
new RoomParticipant(user1) { Role = ParticipantRole.Presenter },
new RoomParticipant(user2) // The default participant role is ParticipantRole.Attendee
};
Menginisialisasi ruangan
Buat baru room
menggunakan yang participants
ditentukan dalam cuplikan kode di atas:
// 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);
Karena rooms
merupakan entitas sisi server, Anda mungkin ingin melacak dan mempertahankan roomId
dalam media penyimpanan pilihan. Anda dapat mereferensikan roomId
untuk melihat atau memperbarui properti room
objek.
Mengaktifkan kemampuan dial out PSTN untuk ruangan
Masing-masing room
memiliki dial out PSTN yang dinonaktifkan secara default. Dial out PSTN dapat diaktifkan untuk room
saat pembuatan, dengan menentukan pstnDialOutEnabled
parameter sebagai true. Kemampuan ini juga dapat dimodifikasi untuk dengan room
mengeluarkan permintaan pembaruan untuk pstnDialOutEnabled
parameter .
// 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);
Mendapatkan properti dari ruang yang sudah ada
Ambil detail yang ada room
dengan mereferensikan roomId
:
// Retrieve the room with corresponding ID
CommunicationRoom room = await roomsClient.GetRoomAsync(roomId);
Console.WriteLine("\nRetrieved room with id: " + room.Id);
Memperbarui masa pakai ruangan
Masa pakai room
dapat dimodifikasi dengan mengeluarkan permintaan pembaruan untuk ValidFrom
parameter dan ValidUntil
. Kamar dapat berlaku maksimal enam bulan.
// 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);
Mencantumkan semua ruang aktif
Untuk mengambil semua ruang aktif, gunakan metode yang GetRoomsAsync
diekspos pada klien.
// 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;
}
Menambahkan peserta baru atau memperbarui peserta yang sudah ada
Untuk menambahkan peserta baru ke room
, gunakan metode yang AddParticipantsAsync
diekspos pada klien.
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");
Peserta yang telah ditambahkan ke menjadi room
memenuhi syarat untuk bergabung dalam panggilan. Peserta yang telah diperbarui akan melihat yang baru role
dalam panggilan.
Mendapatkan daftar peserta
Ambil daftar peserta untuk yang sudah ada room
dengan merujuk pada 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()}");
}
Menghapus peserta
Untuk menghapus peserta dari room
dan mencabut akses mereka, gunakan metode .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");
Hapus ruang
Jika Anda ingin membubarkan yang sudah ada room
, Anda dapat mengeluarkan permintaan penghapusan eksplisit. Semua rooms
dan sumber daya terkait dihapus secara otomatis di akhir masa berlakunya ditambah masa tenggang.
// Deletes the specified room
Response deleteRoomResponse = await roomsClient.DeleteRoomAsync(roomId);
Console.WriteLine("\nDeleted room with id: " + roomId);
Menjalankan kode
Untuk menjalankan kode, pastikan Anda berada di direktori tempat file Anda Program.cs
berada.
dotnet run
Output yang diharapkan menjelaskan setiap tindakan yang diselesaikan:
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
Dokumentasi rujukan
Baca tentang serangkaian kemampuan lengkap ruang Azure Communication Services dari referensi .NET SDK atau referensi REST API.
Mulai cepat ini membantu Anda mulai menggunakan Azure Communication Services Rooms. room
adalah ruang komunikasi yang dikelola server untuk sekumpulan peserta tetap yang diketahui untuk berkolaborasi selama durasi yang telah ditentukan. Dokumentasi konseptual kamar mencakup detail lebih lanjut dan kasus penggunaan untuk rooms
.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Communication Services aktif dan string koneksi. Buat sumber daya Azure Communication Services.
- Java Development Kit (JDK) versi 8 atau lebih tinggi.
- Apache Maven
Kode Sampel
Anda dapat meninjau dan mengunduh kode sampel untuk mulai cepat ini di GitHub.
Menyiapkan
Membuat aplikasi Java baru
Di jendela konsol (seperti cmd, PowerShell, atau Bash), gunakan perintah mvn
untuk membuat aplikasi konsol baru dengan nama rooms-quickstart
. Perintah ini membuat proyek Java "Halo Dunia" sederhana dengan satu file sumber: App.java.
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Sertakan paket
Anda perlu menggunakan pustaka klien Azure Communication Rooms untuk Java versi 1.1.0 atau yang lebih baru.
Sertakan file BOM
Sertakan azure-sdk-bom
ke proyek Anda untuk mengambil dependensi pada versi Ketersediaan Umum (GA) pustaka. Dalam cuplikan berikut, ganti tempat penampung {bom_version_to_target} dengan nomor versi.
Untuk mempelajari selengkapnya tentang BOM, lihat readme BOM 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>
lalu sertakan dependensi langsung di bagian dependensi tanpa tag versi.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-rooms</artifactId>
</dependency>
</dependencies>
Sertakan dependensi langsung
Jika Anda ingin mengambil dependensi pada versi pustaka tertentu yang tidak ada di BOM, tambahkan dependensi langsung ke proyek Anda sebagai berikut.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-rooms</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
Menyiapkan kerangka kerja aplikasi
Buka direktori /src/main/java/com/communication/quickstart dan buka App.java
file. Tambahkan kode berikut:
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
}
}
Menginisialisasi klien ruangan
Buat objek baru RoomsClient
yang akan digunakan untuk membuat baru rooms
dan mengelola properti dan siklus hidupnya. String koneksi Anda Communications Service
akan digunakan untuk mengautentikasi permintaan. Untuk informasi selengkapnya tentang string koneksi, lihat halaman ini.
// Initialize the rooms client
// Find your Communication Services resource in the Azure portal
String connectionString = "<connection string>";
RoomsClient roomsClient = new RoomsClientBuilder().connectionString(connectionString).buildClient();
Membuat ruangan
Menyiapkan peserta ruangan
Untuk menyiapkan siapa yang dapat bergabung dengan ruangan, Anda harus memiliki daftar identitas pengguna tersebut. Anda dapat mengikuti instruksi di sini untuk membuat pengguna dan mengeluarkan token akses. Atau, jika Anda ingin membuat pengguna sesuai permintaan, Anda dapat membuatnya menggunakan CommunicationIdentityClient
. Acs Rooms saat ini mendukung peserta ruangan dengan jenis CommunicationUserIdentifier saja, menggunakan jenis CommunicationIdentity lainnya akan mengakibatkan kesalahan runtime.
Untuk menggunakan CommunicationIdentityClient
, tambahkan paket berikut:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-identity</artifactId>
</dependency>
Impor paket di atas pada file Anda App.java
:
import com.azure.communication.identity.CommunicationIdentityClient;
import com.azure.communication.identity.CommunicationIdentityClientBuilder;
Sekarang, CommunicationIdentityClient
dapat diinisialisasi dan digunakan untuk membuat pengguna:
CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
.connectionString(connectionString)
.buildClient();
CommunicationUserIdentifier user1 = communicationClient.createUser();
CommunicationUserIdentifier user2 = communicationClient.createUser();
CommunicationUserIdentifier user3 = communicationClient.createUser();
Kemudian, buat daftar peserta ruangan dengan merujuk pengguna tersebut:
//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));
Menginisialisasi ruangan
Buat baru room
menggunakan yang roomParticipants
ditentukan dalam cuplikan kode di atas:
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());
Karena rooms
merupakan entitas sisi server, Anda mungkin ingin melacak dan mempertahankan roomId
dalam media penyimpanan pilihan. Anda dapat mereferensikan roomId
untuk melihat atau memperbarui properti room
objek.
Mengaktifkan kemampuan dial out PSTN untuk ruangan
Masing-masing room
memiliki dial out PSTN yang dinonaktifkan secara default. Dial out PSTN dapat diaktifkan untuk room
saat pembuatan, dengan menentukan pstnDialOutEnabled
parameter sebagai true. Kemampuan ini juga dapat dimodifikasi untuk dengan room
mengeluarkan permintaan pembaruan untuk pstnDialOutEnabled
parameter .
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());
Mendapatkan properti dari ruang yang sudah ada
Ambil detail yang ada room
dengan mereferensikan roomId
:
// Retrieve the room with corresponding ID
CommunicationRoom roomResult = roomsClient.getRoom(roomId);
System.out.println("Retrieved room with id: " + roomResult.getRoomId());
Memperbarui masa pakai ruangan
Masa pakai room
dapat dimodifikasi dengan mengeluarkan permintaan pembaruan untuk ValidFrom
parameter dan ValidUntil
. Kamar dapat berlaku maksimal enam bulan.
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());
Menambahkan atau memperbarui peserta
Untuk menambahkan atau memperbarui peserta ke room
, gunakan metode yang addOrUpdateParticipants
diekspos pada klien.
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");
Peserta yang telah ditambahkan ke menjadi room
memenuhi syarat untuk bergabung dalam panggilan.
Mendapatkan daftar peserta
Ambil daftar peserta untuk yang sudah ada room
dengan merujuk pada 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);
}
Menghapus peserta
Untuk menghapus peserta dari room
dan mencabut akses mereka, gunakan metode .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");
Mencantumkan semua ruang aktif
Ambil semua aktif rooms
di bawah sumber daya Azure Communication Services Anda.
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);
}
Hapus ruang
Jika Anda ingin membubarkan yang sudah ada room
, Anda dapat mengeluarkan permintaan penghapusan eksplisit. Semua rooms
dan sumber daya terkait dihapus secara otomatis di akhir masa berlakunya ditambah masa tenggang.
// Deletes the specified room
roomsClient.deleteRoomWithResponse(roomId, Context.NONE);
System.out.println("\nDeleted the room with ID: " + roomId);
Menjalankan kode
Untuk menjalankan kode, buka direktori yang berisi pom.xml
file dan kompilasi program.
mvn compile
Kemudian, buat paket:
mvn package
Jalankan aplikasi.
mvn exec:java -D"exec.mainClass"="com.communication.rooms.quickstart" -D"exec.cleanupDaemonThreads"="false"
Output yang diharapkan menjelaskan setiap tindakan yang diselesaikan:
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
Dokumentasi rujukan
Baca tentang serangkaian kemampuan lengkap ruang Azure Communication Services dari referensi Java SDK atau referensi REST API.
Mulai cepat ini membantu Anda mulai menggunakan Azure Communication Services Rooms. room
adalah ruang komunikasi yang dikelola server untuk sekumpulan peserta tetap yang diketahui untuk berkolaborasi selama durasi yang telah ditentukan. Dokumentasi konseptual kamar mencakup detail lebih lanjut dan kasus penggunaan untuk rooms
.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Communication Services aktif dan string koneksi. Buat sumber daya Azure Communication Services.
- Python 3.7+ untuk sistem operasi Anda.
Kode Sampel
Anda dapat meninjau dan mengunduh kode sampel untuk mulai cepat ini di GitHub.
Menyiapkan
Membuat aplikasi Python baru
Di jendela terminal atau konsol, buat folder baru untuk aplikasi Anda dan navigasikan ke dalamnya.
mkdir acs-rooms-quickstart
cd acs-rooms-quickstart
Pasang paket
Anda perlu menggunakan pustaka klien Azure Communication Rooms untuk Python versi 1.1.0 atau lebih tinggi.
Dari perintah konsol, navigasikan ke direktori yang berisi file rooms.py, lalu jalankan perintah berikut:
pip install azure-communication-rooms
Menyiapkan kerangka kerja aplikasi
Buat file baru yang disebut rooms-quickstart.py
dan tambahkan struktur program dasar.
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()
Menginisialisasi klien ruangan
Buat objek baru RoomsClient
yang akan digunakan untuk membuat baru rooms
dan mengelola properti dan siklus hidupnya. String koneksi Anda Communications Service
akan digunakan untuk mengautentikasi permintaan. Untuk informasi selengkapnya tentang string koneksi, lihat halaman ini.
#Find your Communication Services resource in the Azure portal
connection_string = '<connection_string>'
rooms_client = RoomsClient.from_connection_string(connection_string)
Membuat ruangan
Menyiapkan peserta ruangan
Untuk menyiapkan siapa yang dapat bergabung dengan ruangan, Anda harus memiliki daftar identitas pengguna tersebut. Anda dapat mengikuti instruksi di sini untuk membuat pengguna dan mengeluarkan token akses. Atau, jika Anda ingin membuat pengguna sesuai permintaan, Anda dapat membuatnya menggunakan CommunicationIdentityClient
. Acs Rooms saat ini mendukung peserta ruangan dengan jenis CommunicationUserIdentifier saja, menggunakan jenis CommunicationIdentity lainnya akan mengakibatkan kesalahan runtime.
Untuk menggunakan CommunicationIdentityClient
, instal paket berikut:
pip install azure-communication-identity
Selain itu, impor namespace paket di bagian atas file Anda rooms-quickstart.py
:
from azure.communication.identity import (
CommunicationIdentityClient
)
Sekarang, CommunicationIdentityClient
dapat diinisialisasi dan digunakan untuk membuat pengguna:
# 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()
Kemudian, buat daftar peserta ruangan dengan merujuk pengguna tersebut:
participant_1 = RoomParticipant(communication_identifier=user1, role=ParticipantRole.PRESENTER)
participant_2 = RoomParticipant(communication_identifier=user2, role=ParticipantRole.CONSUMER)
participants = [participant_1, participant_2]
Menginisialisasi ruangan
Buat baru room
menggunakan yang participants
ditentukan dalam cuplikan kode di atas:
# 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)
Karena rooms
merupakan entitas sisi server, Anda mungkin ingin melacak dan mempertahankan room.id
dalam media penyimpanan pilihan. Anda dapat mereferensikan id
untuk melihat atau memperbarui properti room
objek.
Mengaktifkan kemampuan dial out PSTN untuk ruangan
Masing-masing room
memiliki dial out PSTN yang dinonaktifkan secara default. Dial out PSTN dapat diaktifkan untuk room
saat pembuatan, dengan menentukan pstn_dial_out_enabled
parameter sebagai true. Kemampuan ini juga dapat dimodifikasi untuk dengan room
mengeluarkan permintaan pembaruan untuk pstn_dial_out_enabled
parameter .
# 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)
Mendapatkan properti dari ruang yang sudah ada
Ambil detail yang ada room
dengan mereferensikan 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)
Memperbarui masa pakai ruangan
Masa pakai room
dapat dimodifikasi dengan mengeluarkan permintaan pembaruan untuk valid_from
parameter dan valid_until
. Kamar dapat berlaku maksimal enam bulan.
# 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)
Mencantumkan semua ruang aktif
Untuk mengambil semua ruang aktif yang dibuat di bawah sumber daya Anda, gunakan metode yang list_rooms
diekspos pada klien.
# 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)
Menambahkan atau memperbarui peserta
Untuk menambahkan peserta baru atau memperbarui peserta yang room
ada dalam , gunakan metode yang add_or_update_participants
diekspos pada klien.
# 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)
Peserta yang telah ditambahkan ke menjadi room
memenuhi syarat untuk bergabung dalam panggilan.
Mencantumkan peserta dalam ruangan
Ambil daftar peserta untuk yang sudah ada room
dengan merujuk pada 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)
Menghapus peserta
Untuk menghapus peserta dari room
dan mencabut akses mereka, gunakan metode .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)
Hapus ruang
Jika Anda ingin membubarkan yang sudah ada room
, Anda dapat mengeluarkan permintaan penghapusan eksplisit. Semua rooms
dan sumber daya terkait dihapus secara otomatis di akhir masa berlakunya ditambah masa tenggang.
# Delete Room
rooms_client.delete_room(room_id=room_id)
print("\nDeleted room with id: " + room_id)
Menjalankan kode
Untuk menjalankan kode, pastikan Anda berada di direktori tempat file Anda rooms-quickstart.py
berada.
python rooms-quickstart.py
Output yang diharapkan menjelaskan setiap tindakan yang diselesaikan:
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
Dokumentasi rujukan
Baca tentang serangkaian kemampuan lengkap ruang Azure Communication Services dari referensi Python SDK atau referensi REST API.
Mulai cepat ini membantu Anda mulai menggunakan Azure Communication Services Rooms. room
adalah ruang komunikasi yang dikelola server untuk sekumpulan peserta tetap yang diketahui untuk berkolaborasi selama durasi yang telah ditentukan. Dokumentasi konseptual kamar mencakup detail lebih lanjut dan kasus penggunaan untuk rooms
.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Communication Services aktif dan string koneksi. Buat sumber daya Azure Communication Services.
- Versi terbaru Node.js versi LTS Aktif dan Pemeliharaan LTS.
Kode Sampel
Anda dapat meninjau dan mengunduh kode sampel untuk mulai cepat ini di GitHub.
Menyiapkan
Membuat aplikasi web baru
Di jendela terminal atau konsol, buat folder baru untuk aplikasi Anda dan navigasikan ke dalamnya.
mkdir acs-rooms-quickstart && cd acs-rooms-quickstart
Jalankan npm init
untuk membuat file package.json dengan pengaturan default.
npm init -y
Buat file index.js
baru tempat kode untuk mulai cepat ini akan ditambahkan.
Menginstal paket
Anda perlu menggunakan pustaka klien Azure Communication Rooms untuk JavaScript versi 1.1.0 atau lebih tinggi.
Gunakan perintah npm install
untuk menginstal Communication Services SDK untuk JavaScript di bawah.
npm install @azure/communication-rooms --save
Menyiapkan kerangka kerja aplikasi
Dalam file index.js
, tambahkan kode berikut. Kami akan menambahkan kode untuk mulai cepat dalam main
fungsi.
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);
})
Menginisialisasi klien ruangan
Buat objek baru RoomsClient
yang akan digunakan untuk membuat baru rooms
dan mengelola properti dan siklus hidupnya. String koneksi Anda Communications Service
akan digunakan untuk mengautentikasi permintaan. Untuk informasi selengkapnya tentang string koneksi, lihat halaman ini.
Tambahkan kode berikut di dalam index.js
main
fungsi .
const connectionString =
process.env["COMMUNICATION_CONNECTION_STRING"] ||
"endpoint=https://<resource-name>.communication.azure.com/;<access-key>";
// create RoomsClient
const roomsClient = new RoomsClient(connectionString);
Membuat ruangan
Menyiapkan peserta ruangan
Untuk menyiapkan siapa yang dapat bergabung dengan ruangan, Anda harus memiliki daftar identitas pengguna tersebut. Anda dapat mengikuti instruksi di sini untuk membuat pengguna dan mengeluarkan token akses. Atau, jika Anda ingin membuat pengguna sesuai permintaan, Anda dapat membuatnya menggunakan CommunicationIdentityClient
. Acs Rooms saat ini mendukung peserta ruangan dengan jenis CommunicationUserIdentifier saja, menggunakan jenis CommunicationIdentity lainnya akan mengakibatkan kesalahan runtime.
Untuk menggunakan CommunicationIdentityClient, instal paket npm berikut:
npm install @azure/communication-identity --save
Selain itu, tambahkan paket yang diperlukan berikut di bagian atas file Anda index.js
:
const { CommunicationIdentityClient } = require('@azure/communication-identity');
Sekarang, CommunicationIdentityClient
dapat diinisialisasi dan digunakan untuk membuat pengguna:
// create identities for users
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
const user2 = await identityClient.createUserAndToken(["voip"]);
Kemudian, buat daftar peserta ruangan dengan merujuk pengguna tersebut:
const participants = [
{
id: user1.user,
role: "Presenter",
},
{
id: user2.user,
role: "Consumer",
}
]
Menginisialisasi ruangan
Buat baru room
menggunakan yang participants
ditentukan dalam cuplikan kode di atas:
// 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);
Karena rooms
merupakan entitas sisi server, Anda mungkin ingin melacak dan mempertahankan roomId
dalam media penyimpanan pilihan. Anda dapat mereferensikan roomId
untuk melihat atau memperbarui properti room
objek.
Mengaktifkan kemampuan dial out PSTN untuk ruangan
Masing-masing room
memiliki dial out PSTN yang dinonaktifkan secara default. Dial out PSTN dapat diaktifkan untuk room
saat pembuatan, dengan menentukan pstnDialOutEnabled
parameter sebagai true. Kemampuan ini juga dapat dimodifikasi untuk dengan room
mengeluarkan permintaan pembaruan untuk pstnDialOutEnabled
parameter .
// 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);
Mendapatkan properti dari ruang yang sudah ada
Ambil detail yang ada room
dengan mereferensikan roomId
:
// Retrieve the room with corresponding ID
const getRoom = await roomsClient.getRoom(roomId);
console.log("\nRetrieved room with id: ", getRoom.id);
Memperbarui masa pakai ruangan
Masa pakai room
dapat dimodifikasi dengan mengeluarkan permintaan pembaruan untuk validFrom
parameter dan validUntil
. Kamar dapat berlaku maksimal enam bulan.
// 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);
Mendapatkan daftar kamar
Ambil daftar ruang Anda dengan menggunakan listRooms
metode :
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;
}
Menambahkan atau memperbarui peserta
Untuk menambahkan peserta baru ke room
, gunakan metode yang addOrUpdateParticipants
diekspos pada klien. Metode ini juga akan memperbarui peserta jika mereka sudah ada di ruangan.
// 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");
Peserta yang telah ditambahkan ke menjadi room
memenuhi syarat untuk bergabung dalam panggilan.
Mendapatkan daftar peserta
Ambil daftar peserta untuk yang sudah ada room
dengan merujuk pada 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);
}
Menghapus peserta
Untuk menghapus peserta dari room
dan mencabut akses mereka, gunakan metode .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");
Hapus ruang
Jika Anda ingin membubarkan yang sudah ada room
, Anda dapat mengeluarkan permintaan penghapusan eksplisit. Semua rooms
dan sumber daya terkait dihapus secara otomatis di akhir masa berlakunya ditambah masa tenggang.
// Deletes the specified room
await roomsClient.deleteRoom(roomId);
console.log("\nDeleted room with id: ", roomId)
Menjalankan kode
Untuk menjalankan kode, pastikan Anda berada di direktori tempat file Anda index.js
berada.
node index.js
Output yang diharapkan menjelaskan setiap tindakan yang diselesaikan:
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
Dokumentasi rujukan
Baca tentang serangkaian kemampuan lengkap ruang Azure Communication Services dari referensi JavaScript SDK atau referensi REST API.
Langkah berikutnya
Anda dapat mempelajari cara bergabung dengan panggilan ruang setelah membuat dan mengonfigurasi ruangan.
Di bagian ini Anda mempelajari cara:
- Membuat ruang baru
- Mendapatkan properti ruangan
- Memperbarui properti ruangan
- Menghapus ruangan
Anda mungkin juga ingin:
- Pelajari tentang konsep ruangan
- Pelajari tentang konsep panggilan suara dan video
- Meninjau sampel Azure Communication Services