Bibliothèque cliente Azure Communication Rooms pour .NET - version 1.0.0
Ce package contient un Kit de développement logiciel (SDK) C# pour le service rooms de Azure Communication Services. Azure Communication Services salles (ACS) est un ensemble d’API, utilisés par les applications serveur Contoso pour créer un espace de conversation géré par le serveur avec un ensemble fixe de durée de vie et de participants, prédéfinissant des règles de niveau serveur à la fois qui et quand peuvent communiquer (comme la création de réunions planifiées).
Avec la mise en disponibilité générale d’ACS Rooms, Contoso sera en mesure de :
- Create a meeting space with known time coordinates (validFrom/validUntil)
- Join voice/video calls within that meeting space using the ACS web calling SDK or native mobile calling SDKs
- Add participants to a room
- Assign pre-defined roles to room participants
Les scénarios main dans lesquels les salles peuvent être utilisées au mieux :
- Virtual Visits (e.g., telemedicine, remote financial advisor, virtual classroom, etc...)
- Virtual Events (e.g., live event, company all-hands, live concert, etc...)
| Code source | Documentation produitÉchantillons
Prise en main
Installer le package
Installez la bibliothèque cliente Azure Communication Rooms pour .NET avec NuGet :
dotnet add package Azure.Communication.Rooms
Prérequis
Vous avez besoin d’un abonnement Azure et d’une ressource Communication Service pour utiliser ce package.
Pour créer un service de communication, vous pouvez utiliser le portail Azure, le Azure PowerShell ou la bibliothèque cliente de gestion .NET.
Concepts clés
RoomsClient
fournit les fonctionnalités permettant de créer une salle, de mettre à jour la salle, d’obtenir de la salle, de répertorier des salles, de supprimer une salle, d’ajouter des participants, de mettre à jour des participants, de supprimer des participants et de lister des participants.
Utilisation d’instructions
using Azure.Communication.Rooms
Authentifier le client
Les clients Rooms peuvent être authentifiés à l’aide de la chaîne de connexion acquise à partir d’une ressource de communication Azure dans le portail Azure.
var connectionString = Environment.GetEnvironmentVariable("connection_string") // Find your Communication Services resource in the Azure portal
RoomsClient client = new RoomsClient(connectionString);
Exemples
Créer une salle
Pour créer une salle, appelez la CreateRoom
fonction ou CreateRoomAsync
à partir de RoomsClient
.
Les validFrom
arguments , validUntil
et participants
sont tous facultatifs. Si validFrom
et validUntil
ne sont pas fournis, la valeur par défaut pour validFrom
est l’heure de date actuelle et la valeur par défaut pour validUntil
est validFrom + 180 days
.
Lors de la définition RoomParticipant
de , si le rôle n’est pas spécifié, il le sera Attendee
par défaut.
La valeur retournée contient Response<CommunicationRoom>
les détails de la salle créée, ainsi que les status et les codes d’erreur associés en cas de défaillance.
// Create communication users using the CommunicationIdentityClient
Response<CommunicationUserIdentifier> communicationUser1 = await communicationIdentityClient.CreateUserAsync();
Response<CommunicationUserIdentifier> communicationUser2 = await communicationIdentityClient.CreateUserAsync();
DateTimeOffset validFrom = DateTimeOffset.UtcNow;
DateTimeOffset validUntil = validFrom.AddDays(1);
RoomParticipant participant1 = new RoomParticipant(communicationUser1.Value); // If role is not provided, then it is set as Attendee by default
RoomParticipant participant2 = new RoomParticipant(communicationUser2.Value) { Role = ParticipantRole.Presenter};
List<RoomParticipant> invitedParticipants = new List<RoomParticipant>
{
participant1,
participant2
};
Response<CommunicationRoom> createRoomResponse = await roomsClient.CreateRoomAsync(validFrom, validUntil, invitedParticipants);
CommunicationRoom createCommunicationRoom = createRoomResponse.Value;
Mettre à jour une salle
Les validFrom
propriétés et validUntil
d’une salle créée peuvent être mises à jour en appelant la UpdateRoom
fonction ou UpdateRoomAsync
à partir de RoomsClient
.
validUntil = validFrom.AddDays(30);
Response<CommunicationRoom> updateRoomResponse = await roomsClient.UpdateRoomAsync(createdRoomId, validFrom, validUntil);
CommunicationRoom updateCommunicationRoom = updateRoomResponse.Value;
Obtenir une salle créée
Une salle créée peut être récupérée en appelant la GetRoom
fonction ou GetRoomAsync
à partir de RoomsClient
et en transmettant le associé roomId
.
Response<CommunicationRoom> getRoomResponse = await roomsClient.GetRoomAsync(createdRoomId);
CommunicationRoom getCommunicationRoom = getRoomResponse.Value;
Obtenir toutes les salles
Toutes les salles valides créées sous une ressource ACS peuvent être récupérées en appelant la GetRooms
fonction ou GetRoomsAsync
à partir de RoomsClient
.
AsyncPageable<CommunicationRoom> allRooms = roomsClient.GetRoomsAsync();
await foreach (CommunicationRoom room in allRooms)
{
Console.WriteLine($"Room with id {room.Id} is valid from {room.ValidFrom} to {room.ValidUntil}.");
}
Supprimer le salon
Pour supprimer une salle, appelez la DeleteRoom
fonction ou DeleteRoomAsync
à partir de RoomsClient.
Response deleteRoomResponse = await roomsClient.DeleteRoomAsync(createdRoomId);
Ajouter ou mettre à jour des participants dans une salle
Pour ajouter de nouveaux participants ou mettre à jour des participants existants, appelez la AddOrUpdateParticipants
fonction ou AddOrUpdateParticipantsAsync
à partir de RoomsClient.
Response<CommunicationUserIdentifier> communicationUser3 = await communicationIdentityClient.CreateUserAsync();
RoomParticipant newParticipant = new RoomParticipant(communicationUser3.Value) { Role = ParticipantRole.Consumer };
// Previous snippet for create room added participant2 as Presenter
participant2 = new RoomParticipant(communicationUser2) { Role = ParticipantRole.Attendee };
List<RoomParticipant> participantsToAddOrUpdate = new List<RoomParticipant>
{
participant2, // participant2 updated from Presenter to Attendee
newParticipant, // newParticipant added to the room
};
Response addOrUpdateParticipantResponse = await roomsClient.AddOrUpdateParticipantsAsync(createdRoomId, participantsToAddOrUpdate);
Supprimer des participants dans une salle
Pour supprimer des participants d’une salle, appelez la RemoveParticipants
fonction ou RemoveParticipantsAsync
à partir de RoomsClient.
List<CommunicationIdentifier> participantsToRemove = new List<CommunicationIdentifier>
{
communicationUser1,
communicationUser2
};
Response removeParticipantResponse = await roomsClient.RemoveParticipantsAsync(createdRoomId, participantsToRemove);
Obtenir des participants dans une salle
Pour obtenir tous les participants d’une salle, appelez la GetParticipants
fonction ou GetParticipantsAsync
à partir de RoomsClient.
La valeur retournée est Pageable<RoomParticipant>
ou AsyncPageable<RoomParticipant>
qui contient la liste paginé des participants.
AsyncPageable<RoomParticipant> allParticipants = roomsClient.GetParticipantsAsync(createdRoomId);
await foreach (RoomParticipant participant in allParticipants)
{
Console.WriteLine($" Participant with id {participant.CommunicationIdentifier.RawId} is a {participant.Role}");
}
Dépannage
Réponses du service
Un RequestFailedException
est levée en tant que réponse de service pour toutes les demandes ayant échoué. L’exception contient des informations sur le code de réponse retourné par le service.
try
{
CommunicationIdentityClient communicationIdentityClient = CreateInstrumentedCommunicationIdentityClient();
Response<CommunicationUserIdentifier> communicationUser1 = await communicationIdentityClient.CreateUserAsync();
Response<CommunicationUserIdentifier> communicationUser2 = await communicationIdentityClient.CreateUserAsync();
DateTimeOffset validFrom = DateTimeOffset.UtcNow;
DateTimeOffset validUntil = validFrom.AddDays(1);
List<RoomParticipant> createRoomParticipants = new List<RoomParticipant>();
RoomParticipant participant1 = new RoomParticipant(communicationUser1.Value) { Role = ParticipantRole.Presenter };
RoomParticipant participant2 = new RoomParticipant(communicationUser2.Value) { Role = ParticipantRole.Attendee };
Response<CommunicationRoom> createRoomResponse = await roomsClient.CreateRoomAsync(validFrom, validUntil, createRoomParticipants);
CommunicationRoom createRoomResult = createRoomResponse.Value;
}
catch (RequestFailedException ex)
{
Console.WriteLine(ex.Message);
}
Étapes suivantes
Contribution
Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, consultez cla.microsoft.com.
Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.
Mettre à jour l’exemple de liens de code une fois que le sdk est publié
Azure SDK for .NET