Libreria client Azure RoomsApi per JavaScript - versione 1.1.1
Questo pacchetto contiene un SDK isomorfico (eseguito sia in Node.js che nei browser) per il client Azure RoomsApi.
Communication Rooms Client
Introduttiva
Ambienti attualmente supportati
- versioni LTS di Node.js
- Versioni più recenti di Safari, Chrome, Edge e Firefox.
Prerequisiti
- Una sottoscrizione di Azure .
- Una risorsa di Servizi di comunicazione esistente. Se è necessario creare la risorsa, è possibile usare il portale di Azure , il [Azure PowerShell][azure_powershell] o l'interfaccia della riga di comando di Azure .
JavaScript Bundle
Per usare questa libreria client nel browser, è prima necessario usare un bundler. Per informazioni dettagliate su come eseguire questa operazione, vedere la documentazione di creazione di bundle .
Installazione
npm install @azure/communication-rooms
Concetti chiave
RoomsApiClient
RoomsClient
è l'interfaccia principale per gli sviluppatori che usano la libreria client Azure RoomsApi. Esplorare i metodi in questo oggetto client per comprendere le diverse funzionalità del servizio Azure RoomsApi a cui è possibile accedere.
Esempi
Autenticazione
È possibile ottenere una chiave e/o una stringa di connessione dalla risorsa servizi di comunicazione in portale di Azure. Dopo aver ottenuto una chiave, è possibile autenticare il RoomsClient
con uno dei metodi seguenti:
Creare KeyCredential
con AzureKeyCredential
prima di inizializzare il client
import { AzureKeyCredential } from "@azure/core-auth";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new AzureKeyCredential(KEY);
const client = new RoomsClient(ENDPOINT, credential);
Uso di una stringa di connessione
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
Uso di un TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { RoomsClient } from "@azure/communication-rooms";
const credential = new DefaultAzureCredential();
const client = new RoomsClient(ENDPOINT, credential);
Se si usa una chiave per inizializzare il client, sarà necessario fornire anche l'endpoint appropriato. È possibile ottenere questo endpoint dalla risorsa servizi di comunicazione in portale di Azure.
Uso
Creare una stanza
Per creare una stanza, chiamare il metodo createRoom
. Tutte le impostazioni sono facoltative.
Se non viene specificato validFrom
, per impostazione predefinita viene impostato su datetime corrente. Se validUntil
non viene specificato, il valore predefinito è validFrom + 180 days
.
Quando si definisce participants
, se non viene specificato role
, verrà attendee
per impostazione predefinita.
A partire dalla versione 1.1.0, PstnDialOutEnabled
proprietà viene aggiunta per abilitare o disabilitare la funzionalità di connessione remota PSTN in una stanza. Il PstnDialOutEnabled
è una proprietà facoltativa. Se non viene specificato PstnDialOutEnabled
, il valore predefinito per PstnDialOutEnabled
è false.
// create users with CommunicationIdentityClient
const identityClient = new CommunicationIdentityClient(connectionString);
const user1 = await identityClient.createUserAndToken(["voip"]);
// create RoomsClient
const roomsClient: RoomsClient = new RoomsClient(CONNECTION_STRING);
const validFrom = new Date(Date.now());
const validForDays = 10;
const validUntil = new Date(validFrom.getTime());
validUntil.setDate(validFrom.getDate() + validForDays);
const pstnDialOutEnabled = true;
// options payload to create a room
const createRoomOptions: CreateRoomOptions = {
validFrom,
validUntil,
pstnDialOutEnabled,
participants: [
{
id: user1.user,
role: "Attendee",
},
],
};
// create room
const room = await roomsClient.createRoom(createRoomOptions);
Trova communicationIdentityClient qui
Aggiornare una stanza
Per aggiornare le impostazioni di validFrom
e validUntil
di una stanza, utilizzare il metodo updateRoom
.
A partire dalla versione 1.1.0, PstnDialOutEnabled
proprietà viene aggiunta per abilitare o disabilitare la funzionalità di connessione remota PSTN in una stanza.
validForDays = 60;
validUntil.setDate(validFrom.getDate() + validForDays);
pstnDialOutEnabled = false;
const updateRoomOptions: UpdateRoomOptions = {
validFrom,
validUntil,
pstnDialOutEnabled,
};
// update the room using the room id from the creation operation
const updatedRoom = await roomsClient.updateRoom(room.id, updateRoomOptions);
Ottenere una stanza
Per ottenere una stanza, utilizzare il metodo getRoom
.
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Elencare le sale
Elencare tutte le sale usando il metodo listRooms
.
const roomsList = await roomsClient.listRooms();
for await (const currentRoom of roomsList) {
// access room data
console.log(`The room id is ${currentRoom.id}.`);
}
Aggiungere o aggiornare i partecipanti
Per aggiungere nuovi partecipanti o aggiornare i partecipanti esistenti, usare il metodo addOrUpdateParticipants
.
const user2 = await identityClient.createUserAndToken(["voip"]);
const updateParticipantsList: RoomParticipantPatch[] = [
{
id: user1.user,
role: "Presenter",
},
{
id: user2.user,
},
];
// run addOrUpdate operation
await roomsClient.addOrUpdateParticipants(room.id, updateParticipantsList);
Rimuovere i partecipanti
Per rimuovere i partecipanti chiamare il metodo removeParticipants
.
const participantsToRemove = [user1.user, user2.user];
await roomsClient.removeParticipants(room.id, participantsToRemove);
Ottenere i partecipanti in una stanza
Per elencare tutti i partecipanti in una sala, chiamare il metodo listParticipants
.
const participantsList = await roomsClient.listParticipants(room.id);
for await (const participant of participantsList) {
// access participant data
console.log(`The participant's role is ${participant.role}.`);
}
Eliminare una stanza
Utilizzare il metodo deleteRoom
per eliminare una stanza.
await roomsClient.deleteRoom(room.id);
Risoluzione dei problemi
Registrazione
L'abilitazione della registrazione può aiutare a individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL
su info
. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel
nel @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Per istruzioni più dettagliate su come abilitare i log, è possibile esaminare la documentazione del pacchetto @azure/logger.
Passaggi successivi
Per esempi dettagliati su come usare questa libreria, vedere gli esempi di directory.
Contribuire
Per contribuire a questa libreria, leggere la guida contribuire per altre informazioni su come compilare e testare il codice.
Progetti correlati
Azure SDK for JavaScript