Biblioteca cliente del servicio Salas de comunicaciones de Azure para Java, versión 1.0.5
Azure Communication Rooms se usa para operar en salas.
Código | fuentePaquete (Maven) | Documentación | de referencia de APIDocumentación del producto
Introducción
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Kit de desarrollo de Java (JDK), versión 8 o posterior.
- Apache Maven.
- Un recurso de Communication Services implementado. Puede usar Azure Portal o el Azure PowerShell para configurarlo.
Inclusión del paquete
Inclusión de dependencias directas
Si desea depender de una versión determinada de la biblioteca que no está presente en la lista de materiales, agregue la dependencia directa al proyecto como se indica a continuación.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-rooms</artifactId>
<version>1.0.5</version>
</dependency>
Autenticar el cliente
Autenticación de tokens de Azure Active Directory
Se debe pasar un DefaultAzureCredential
objeto a RoomsClientBuilder
a través de la función credential(). El punto de conexión y httpClient también deben establecerse a través de las funciones endpoint() y httpClient(), respectivamente.
AZURE_CLIENT_SECRET
Las variables de entorno y AZURE_CLIENT_ID
AZURE_TENANT_ID
son necesarias para crear un objeto DefaultAzureCredential.
Como alternativa, puede proporcionar el cadena de conexión completo mediante la función connectionString() en lugar de proporcionar el punto de conexión y la clave de acceso.
// Find your connection string from your resource in the Azure Portal
String connectionString = "https://<resource-name>.communication.azure.com/;<access-key>";
RoomsClient roomsClient = new RoomsClientBuilder().connectionString(connectionString).buildClient();
Conceptos clave
Salas
- Crear sala
- Actualizar sala
- Obtener habitación
- Eliminar sala
- Enumerar todas las salas
Participantes
- Agregar o actualizar participantes
- Eliminación de participantes
- Enumerar todos los participantes
Ejemplos
Crear una sala.
Use la createRoom
función para crear una nueva sala.
OffsetDateTime validFrom = OffsetDateTime.now();
OffsetDateTime validUntil = validFrom.plusDays(30);
List<RoomParticipant> participants = new ArrayList<>();
// Add two participants
participant1 = new RoomParticipant(new CommunicationUserIdentifier("<ACS User MRI identity 1>")).setRole(ParticipantRole.ATTENDEE);
participant2 = new RoomParticipant(new CommunicationUserIdentifier("<ACS User MRI identity 2>")).setRole(ParticipantRole.CONSUMER);
participants.add(participant1);
participants.add(participant2);
// Create Room options
CreateRoomOptions roomOptions = new CreateRoomOptions()
.setValidFrom(validFrom)
.setValidUntil(validUntil)
.setParticipants(participants);
CommunicationRoom roomResult = roomsClient.createRoom(roomOptions);
Actualizar una sala existente
Use la updateRoom
función para actualizar una sala existente.
OffsetDateTime validFrom = OffsetDateTime.now();
OffsetDateTime validUntil = validFrom.plusDays(30);
// Update Room options
UpdateRoomOptions updateRoomOptions = new UpdateRoomOptions()
.setValidFrom(validFrom)
.setValidUntil(validUntil);
try {
CommunicationRoom roomResult = roomsClient.updateRoom("<Room Id>", updateRoomOptions);
System.out.println("Room Id: " + roomResult.getRoomId());
} catch (RuntimeException ex) {
System.out.println(ex);
}
Obtener una sala existente
Use la getRoom
función para obtener una sala existente.
try {
CommunicationRoom roomResult = roomsClient.getRoom("<Room Id>");
System.out.println("Room Id: " + roomResult.getRoomId());
} catch (RuntimeException ex) {
System.out.println(ex);
}
Eliminar una sala existente
Use la deleteRoom
función para eliminar una sala creada.
try {
roomsClient.deleteRoom("<Room Id>");
} catch (RuntimeException ex) {
System.out.println(ex);
}
Enumerar salas
Use la list rooms
función para enumerar todas las salas activas.
try {
PagedIterable<CommunicationRoom> rooms = roomsClient.listRooms();
for (CommunicationRoom room : rooms) {
System.out.println("Room ID: " + room.getRoomId());
}
} catch (Exception ex) {
System.out.println(ex);
}
Agregar o actualizar participantes en una sala existente
Use la addOrUpdateParticipants
función para agregar o actualizar participantes en una sala existente.
List<RoomParticipant> participantsToaddOrUpdate = new ArrayList<>();
// New participant to add
RoomParticipant participantToAdd = new RoomParticipant(new CommunicationUserIdentifier("<ACS User MRI identity 3>")).setRole(ParticipantRole.ATTENDEE);
// Existing participant to update, assume participant2 is part of the room as a
// consumer
participant2 = new RoomParticipant(new CommunicationUserIdentifier("<ACS User MRI identity 2>")).setRole(ParticipantRole.ATTENDEE);
participantsToaddOrUpdate.add(participantToAdd); // Adding new participant to room
participantsToaddOrUpdate.add(participant2); // Update participant from Consumer -> Attendee
try {
AddOrUpdateParticipantsResult addOrUpdateResult = roomsClient.addOrUpdateParticipants("<Room Id>", participantsToaddOrUpdate);
} catch (RuntimeException ex) {
System.out.println(ex);
}
Quitar participantes de una sala existente
Use la removeParticipants
función para quitar participantes de una sala existente.
List<CommunicationIdentifier> participantsToRemove = new ArrayList<>();
participantsToRemove.add(participant1.getCommunicationIdentifier());
participantsToRemove.add(participant2.getCommunicationIdentifier());
try {
RemoveParticipantsResult removeResult = roomsClient.removeParticipants("<Room Id>", participantsToRemove);
} catch (RuntimeException ex) {
System.out.println(ex);
}
Enumerar todos los participantes de una sala existente
Use la listParticipants
función para enumerar todos los participantes de una sala existente.
try {
PagedIterable<RoomParticipant> allParticipants = roomsClient.listParticipants("<Room Id>");
for (RoomParticipant participant : allParticipants) {
System.out.println(participant.getCommunicationIdentifier().getRawId() + " (" + participant.getRole() + ")");
}
} catch (RuntimeException ex) {
System.out.println(ex);
}
Solución de problemas
- Si se produce un error en la creación de un cliente, compruebe si tiene la autenticación correcta.
- En el caso de los errores de creación de salas, el error de comunicación debe, en la mayoría de los casos, proporcionar una breve descripción del problema.
Pasos siguientes
Contribuciones
Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución.
Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.