Azure Communications Rooms Service-Clientbibliothek für Java– Version 1.0.5
Azure Communication Rooms wird für den Betrieb von Räumen verwendet.
Quellcode | Paket (Maven) | API-Referenzdokumentation | Produktdokumentation
Erste Schritte
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Java Development Kit (JDK), Version 8 oder höher.
- Apache Maven.
- Eine bereitgestellte Communication Services-Ressource. Sie können das Azure-Portal oder die Azure PowerShell zum Einrichten verwenden.
Einschließen des Pakets
Direkte Abhängigkeiten einfügen
Wenn Sie eine Abhängigkeit von einer bestimmten Version der Bibliothek annehmen möchten, die nicht in der BoM vorhanden ist, fügen Sie die direkte Abhängigkeit wie folgt zu Ihrem Projekt hinzu.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-rooms</artifactId>
<version>1.0.5</version>
</dependency>
Authentifizieren des Clients
Azure Active Directory-Tokenauthentifizierung
Ein DefaultAzureCredential
-Objekt muss über die RoomsClientBuilder
credential()-Funktion an die übergeben werden. Endpunkt und httpClient müssen auch über die Funktionen endpoint() bzw. httpClient() festgelegt werden.
AZURE_CLIENT_SECRET
- AZURE_CLIENT_ID
und AZURE_TENANT_ID
-Umgebungsvariablen werden benötigt, um ein DefaultAzureCredential-Objekt zu erstellen.
Alternativ können Sie den gesamten Verbindungszeichenfolge mithilfe der connectionString()-Funktion bereitstellen, anstatt den Endpunkt und den Zugriffsschlüssel bereitzustellen.
// 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();
Wichtige Begriffe
Räume
- Erstellen eines Raums
- Aktualisieren des Raums
- Raum abrufen
- Raum löschen
- Auflisten aller Räume
Teilnehmer
- Hinzufügen oder Aktualisieren von Teilnehmern
- Entfernen von Teilnehmer*innen
- Alle Teilnehmer auflisten
Beispiele
Erstellen eines neuen Raums
Verwenden Sie die createRoom
-Funktion, um einen neuen Raum zu erstellen.
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);
Aktualisieren eines vorhandenen Raums
Verwenden Sie die updateRoom
-Funktion, um einen vorhandenen Raum zu aktualisieren.
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);
}
Abrufen eines vorhandenen Raums
Verwenden Sie die getRoom
-Funktion, um einen vorhandenen Raum abzurufen.
try {
CommunicationRoom roomResult = roomsClient.getRoom("<Room Id>");
System.out.println("Room Id: " + roomResult.getRoomId());
} catch (RuntimeException ex) {
System.out.println(ex);
}
Löschen eines vorhandenen Raums
Verwenden Sie die deleteRoom
-Funktion, um einen erstellten Raum zu löschen.
try {
roomsClient.deleteRoom("<Room Id>");
} catch (RuntimeException ex) {
System.out.println(ex);
}
Auflisten von Räumen
Verwenden Sie die list rooms
-Funktion, um alle aktiven Räume auflisten.
try {
PagedIterable<CommunicationRoom> rooms = roomsClient.listRooms();
for (CommunicationRoom room : rooms) {
System.out.println("Room ID: " + room.getRoomId());
}
} catch (Exception ex) {
System.out.println(ex);
}
Hinzufügen oder Aktualisieren von Teilnehmern eines vorhandenen Raums
Verwenden Sie die addOrUpdateParticipants
-Funktion, um Teilnehmer in einem vorhandenen Raum hinzuzufügen oder zu aktualisieren.
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);
}
Entfernen von Teilnehmern aus einem vorhandenen Raum
Verwenden Sie die removeParticipants
-Funktion, um Teilnehmer aus einem vorhandenen Raum zu entfernen.
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);
}
Auflisten aller Teilnehmer aus einem vorhandenen Raum
Verwenden Sie die listParticipants
-Funktion, um alle Teilnehmer aus einem vorhandenen Raum aufzulisten.
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);
}
Problembehandlung
- Wenn beim Erstellen eines Clients ein Fehler auftritt, überprüfen Sie, ob Sie über die richtige Authentifizierung verfügen.
- Bei Fehlern bei der Raumerstellung sollte der Kommunikationsfehler in den meisten Fällen eine kurze Beschreibung des Problems geben.
Nächste Schritte
Mitwirken
Beiträge und Vorschläge für dieses Projekt sind willkommen. Für die meisten Beiträge ist die Zustimmung zu einer Lizenzvereinbarung für Mitwirkende (Contributor License Agreement, CLA) erforderlich, in der Sie erklären, dass Sie dazu berechtigt sind, uns die Rechte für die Nutzung Ihres Beitrags zu erteilen, und dies auch tun.
Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.