Share via


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

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, o cadeia de conexão pode ser usado 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 de qual sala iniciará existente
  • valid_until: um objeto datetime após o qual a reunião de sala terminaria
  • participants: uma lista de RoomParticipants que contêm mri de convites 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 hora da data atual e o padrão para valid_until é valid_from + 180 days.
  • pstn_dial_out_enabled: defina esse sinalizador como true se, no momento da chamada, discar para um número PSTN estiver habilitado em uma sala específica. Esse sinalizador é opcional.

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. A partir da versão 1.1.0b1, as Salas do ACS dão suporte ao recurso de Discagem PSTN. Para criar uma sala com a propriedade Dial-Out PSTN, chame create_room a função e defina pstn_dial_out_enabled como true ou false. Se pstn_dial_out_enabled não for fornecido, o valor padrão para pstn_dial_out_enabled será false.

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
from dateutil.relativedelta import relativedelta

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

try:
    create_room_response = client.create_room(
        valid_from=valid_from,
        valid_until=valid_until,
        participants=participants,
        pstn_dial_out_enabled=false

    )
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. A partir da versão 1.1.0b1, as Salas do ACS dão suporte ao recurso de Discagem PSTN. Para atualizar uma sala com a propriedade Dial-Out PSTN, chame update_room e defina pstn_dial_out_enabled como true ou false. Se pstn_dial_out_enabled não for fornecido, não haverá alterações na propriedade PstnDialOutEnabled na sala.

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),
        pstn_dial_out_enabled=false
    )
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 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(communication_identifier=CommunicationUserIdentifier("<ACS User MRI identity 1>")))
participants.append(RoomParticipant(communication_identifier=CommunicationUserIdentifier("<ACS User MRI identity 2>"), role=ParticipantRole.ATTENDEE))
participants.append(RoomParticipant(communication_identifier=CommunicationUserIdentifier("<ACS User MRI identity 3>"), role=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="id of the room to remove participants",
        participants=communication_identifiers
    )
except HttpResponseError as ex:
    print(ex)

Listar participantes

Recupere a lista de participantes de uma sala existente fazendo referência ao room_id:

try:
    participants = client.list_participants(room_id="id of the room to list participants")
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

Examine o 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.