Compartir a través de


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

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_SECRETLas variables de entorno y AZURE_CLIENT_IDAZURE_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

  1. Si se produce un error en la creación de un cliente, compruebe si tiene la autenticación correcta.
  2. 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.

Impresiones