Libreria client Azure RoomsApi per JavaScript - versione 1.1.0
Questo pacchetto contiene un SDK isomorfico (eseguito sia in Node.js che nei browser) per il client Azure RoomsApi.
Communication Rooms Client
Codice | sorgentePacchetto (NPM) | Campioni
Introduzione
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.
Esempio
Authentication
È possibile ottenere una chiave e/o stringa di connessione dalla risorsa di Servizi di comunicazione nel portale di Azure. Dopo aver ottenuto una chiave, è possibile autenticare con RoomsClient
uno dei metodi seguenti:
KeyCredential
Create 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 un stringa di connessione
import { RoomsClient } from "@azure/communication-rooms";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new RoomsClient(connectionString);
Uso di un oggetto 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 specificare anche l'endpoint appropriato. È possibile ottenere questo endpoint dalla risorsa di Servizi di comunicazione nel portale di Azure.
Utilizzo
Create una stanza
Per creare una stanza, chiamare il createRoom
metodo . Tutte le impostazioni sono facoltative.
Se validFrom
non viene specificato, l'impostazione predefinita è datetime corrente. Se validUntil
non viene specificato, il valore predefinito è validFrom + 180 days
.
Quando si definisce participants
, se role
non viene specificato, per impostazione predefinita sarà attendee
.
A partire dalla versione 1.1.0, PstnDialOutEnabled
la proprietà viene aggiunta per abilitare o disabilitare la funzionalità Accesso esterno PSTN in una stanza. PstnDialOutEnabled
è una proprietà facoltativa. Se PstnDialOutEnabled
non viene specificato, 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());
let validForDays = 10;
let validUntil = new Date(validFrom.getTime());
validUntil.setDate(validFrom.getDate() + validForDays);
let 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);
Trovare CommunicationIdentityClient qui
Aggiornare una stanza
Per aggiornare le validFrom
impostazioni e validUntil
di una stanza, utilizzare il updateRoom
metodo .
A partire dalla versione 1.1.0, PstnDialOutEnabled
la proprietà viene aggiunta per abilitare o disabilitare la funzionalità Accesso esterno 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, usare il getRoom
metodo .
const roomId = "ROOM_ID";
room = await roomsClient.getRoom(roomId);
Elencare le sale
Elencare tutte le sale usando il listRooms
metodo .
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 addOrUpdateParticipants
metodo .
const user2 = await identityClient.createUserAndToken(["voip"]);
const updateParticipantsList = [
{
id: user1.user,
role: "Presenter",
},
{
id: user2.user,
},
];
// run addOrUpdate operation
await roomsClient.addOrUpdateParticipants(room.id, updateParticipantsList);
Rimuovere i partecipanti
Per rimuovere i partecipanti chiamano il removeParticipants
metodo .
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 listParticipants
metodo .
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
Usare il deleteRoom
metodo per eliminare una stanza.
await roomsClient.deleteRoom(room.id);
Risoluzione dei problemi
Registrazione
L'abilitazione della registrazione consente di 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
in @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Per istruzioni più dettagliate su come abilitare i log, è possibile esaminare la documentazione del pacchetto di @azure/logger.
Passaggi successivi
Per esempi dettagliati su come usare questa libreria, vedere la directory degli esempi .
Contributo
Per contribuire a questa libreria, leggere la guida ai contributi per altre informazioni su come compilare e testare il codice.
Progetti correlati
Azure SDK for JavaScript