Biblioteca de clientes das Salas de Comunicação do Azure para Python – versão 1.0.0

Esse pacote contém um SDK do Python para Serviços de Comunicação do Azure para Salas. Leia mais sobre Serviços de Comunicação do Azure aqui

Aviso de isenção de responsabilidade

O suporte a pacotes python do SDK do Azure para Python 2.7 terminou em 01 de janeiro de 2022. Para obter mais informações e tirar dúvidas, consulte https://github.com/Azure/azure-sdk-for-python/issues/20691

Principais conceitos

O pacote das Salas de Comunicação do Azure é usado para fazer o seguinte:

  • Criar reuniões agendadas
  • Criar reuniões com permissões gerenciadas para seus participantes

Introdução

Instalando o pacote

python -m pip install azure-communication-rooms

Pré-requisitos

  • É necessário ter o Python 3.7 ou posterior para usar esse pacote.
  • Você precisa de uma assinatura do Azure para usar esse pacote.
  • Um recurso dos Serviços de Comunicação implantado. Você pode usar o Portal do Azure ou o Azure PowerShell para configurá-lo.

Inicialização do cliente

Para inicializar o Cliente de Salas, a cadeia de conexão pode ser usada para instanciar.

from azure.communication.rooms import RoomsClient

client = RoomsClient.from_connection_string(conn_str='<connection_str>' )

Exemplos

Parâmetros chave

  • valid_from: um objeto datetime do qual a sala iniciará existente
  • valid_until: um objeto datetime após o qual a reunião da sala terminaria
  • participants: uma lista de RoomParticipants que contêm mri de convidados para a sala, bem como opcional ParticipantRole. Se ParticipantRole não for especificado, será Attendee por padrão. Todos os atributos acima são opcionais. O serviço fornece valores padrão de valid_until e valid_from se eles estiverem ausentes. O padrão paravalid_from é a data e hora atual e o padrão para valid_until é valid_from + 180 days.

Criar uma sala

Para criar uma sala, chame a create_room função de RoomsClient. Os valid_fromargumentos , valid_untile participants são todos opcionais.

from azure.core.exceptions import HttpResponseError
from datetime import datetime, timedelta
from azure.communication.rooms import (
    RoomsClient,
    RoomParticipant,
    ParticipantRole
)
from azure.communication.identity import CommunicationUserIdentifier

client = RoomsClient.from_connection_string(conn_str='<connection_str>')
valid_from = datetime.now()
valid_until = valid_from + relativedelta(months=+1)
participants = []
participants.append(RoomParticipant(CommunicationUserIdentifier("<ACS User MRI identity 1>")))
participants.append(RoomParticipant(CommunicationUserIdentifier("<ACS User MRI identity 2>"), ParticipantRole.CONSUMER))
participants.append(RoomParticipant(CommunicationUserIdentifier("<ACS User MRI identity 3>"), ParticipantRole.PRESENTER))

try:
    create_room_response = client.create_room(
        valid_from=valid_from,
        valid_until=valid_until,
        participants=participants
    )
except HttpResponseError as ex:
    print(ex)

Atualizar uma sala

As valid_from propriedades e valid_until de uma sala criada podem ser atualizadas chamando a update_room função de RoomsClient.

try:
    update_room_response = client.update_room(
        room_id="id of the room to be updated",
        valid_from=datetime.now(),
        valid_until=valid_from + timedelta(weeks=4)
    )
except HttpResponseError as e:
    print('service responds error: {}'.format(e))

Obter uma sala

Uma sala criada pode ser recuperada chamando a get_room função de RoomsClient e passando o associado room_id.

try:
    get_room_response = client.get_room(room_id="id of the room to get")
except HttpResponseError as ex:
    print(ex)

Listar salas

Recupere todas as salas válidas criadas com um recurso do ACS chamando a list_rooms função de RoomsClient.

try:
    list_room_response = client.list_rooms()
except HttpResponseError as ex:
    print(ex)

Excluir uma sala

Para excluir uma sala, chame a delete_room função de RoomsClient.

try:
    client.delete_room(
        room_id="id of the room to be deleted")
except HttpResponseError as e:
    print('service responds error: {}'.format(e))

Adicionar ou atualizar participantes em uma sala

Para inserir novos participantes ou atualizar os participantes existentes, chame a add_or_update_participants função de RoomsClient.

participants = []
participants.append(RoomParticipant(CommunicationUserIdentifier("<ACS User MRI identity 1>")))
participants.append(RoomParticipant(CommunicationUserIdentifier("<ACS User MRI identity 2>"), ParticipantRole.ATTENDEE))
participants.append(RoomParticipant(CommunicationUserIdentifier("<ACS User MRI identity 3>"), ParticipantRole.CONSUMER))
try:
    response = client.add_or_update_participants(
        room_id="id of the room to be updated",
        participants=participants
    )
except HttpResponseError as e:
    print('service responds error: {}'.format(e))

Remover participantes

Remova os participantes de uma sala chamando a remove_participants função de RoomsClient.

communication_identifiers = [CommunicationUserIdentifier("<ACS User MRI identity 2>")]

try:
    remove_participants_response = client.remove_participants(
        room_id=room_id,
        participants=communication_identifiers
    )
except HttpResponseError as ex:
    print(ex)

Listar participantes

Recupere a lista de participantes de uma sala existente referenciando o room_id:

try:
    participants = self.rooms_client.list_participants(room_id)
except HttpResponseError as ex:
    print(ex)

Solução de problemas

As operações de salas gerarão uma exceção se a solicitação para o servidor falhar. O cliente Salas gerará exceções definidas no Azure Core.

Próximas etapas

Mais códigos de exemplo

Dê uma olhada no diretório de exemplos para obter exemplos detalhados de como usar essa biblioteca para criar e gerenciar salas.

Forneça comentários

Se você encontrar bugs ou tiver sugestões, registre um problema na seção Problemas do projeto

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para saber mais, confira as Perguntas frequentes sobre o Código de Conduta ou contate o opencode@microsoft.com caso tenha outras dúvidas ou comentários.