Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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