Поделиться через


Клиентская библиотека Комнат коммуникации Azure для Python версии 1.0.0

Этот пакет содержит пакет SDK python для Службы коммуникации Azure для комнат. Дополнительные сведения о Службы коммуникации Azure см. здесь.

Заявление об отказе

Поддержка пакетов Python пакета Azure SDK для Python 2.7 завершилась 1 января 2022 г. Дополнительные сведения и вопросы см. на https://github.com/Azure/azure-sdk-for-python/issues/20691

Основные понятия

Пакет Комнат коммуникации Azure используется для выполнения следующих действий:

  • Создание запланированных собраний
  • Создание собраний с управляемыми разрешениями для участников

Начало работы

Установка пакета

python -m pip install azure-communication-rooms

Предварительные требования

  • Для использования этого пакета требуется Python 3.7 или более поздней версии.
  • Для использования этого пакета требуется подписка Azure .
  • Развернутый ресурс Служб коммуникации. Для настройки можно использовать портал Azure или Azure PowerShell.

Инициализация клиента

Для инициализации клиента Комнат можно использовать строку подключения для создания экземпляра.

from azure.communication.rooms import RoomsClient

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

Примеры

Ключевые параметры

  • valid_from: объект datetime, из которого комната будет начинаться с существующего.
  • valid_until: объект datetime, после которого завершится собрание в комнате.
  • participants: список объектов RoomParticipant, содержащих MRI приглашенных в комнату, а также необязательный параметр ParticipantRole. Если ParticipantRole параметр не указан, он будет по Attendee умолчанию. Все указанные выше атрибуты являются необязательными. Служба предоставляет значения по умолчанию valid_until и valid_from, если они отсутствуют. Значение по умолчанию дляvalid_from — текущая дата и время, а для valid_untilvalid_from + 180 days.

Создание комнаты

Чтобы создать комнату, вызовите функцию create_room из RoomsClient. Аргументы valid_from, valid_untilи participants являются необязательными.

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)

Обновление комнаты

Свойства valid_from и valid_until созданной комнаты можно обновить, вызвав функцию update_room из 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))

Получение комнаты

Созданную комнату можно получить путем вызова get_room функции из RoomsClient и передачи связанного room_idобъекта .

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

Перечисление комнат

Получите все допустимые комнаты, созданные с помощью ресурса ACS, вызвав функцию list_rooms из RoomsClient.

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

Удаление комнаты

Чтобы удалить комнату, вызовите функцию delete_room из RoomsClient.

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

Добавление или обновление участников в комнате

Чтобы вставить новых участников или обновить существующих, вызовите функцию add_or_update_participants из 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))

Удаление участников

Удаление участников из комнаты путем вызова remove_participants функции из 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)

Список участников

Получите список участников для существующей комнаты, ссылаясь на room_id:

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

Устранение неполадок

При сбое запроса к серверу операции комнат создают исключение. Клиент Rooms будет вызывать исключения, определенные в Azure Core.

Дальнейшие действия

Больше примеров кода

Подробные примеры использования этой библиотеки для создания комнат и управления ими см. в каталоге примеров .

Отзывы

Если вы столкнулись с ошибками или у вас есть предложения, сообщите о проблеме в разделе Проблемы проекта.

Участие

На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Для получения подробных сведений посетите веб-страницу https://cla.microsoft.com.

При отправке запроса на включение внесенных изменений CLA-бот автоматически определит необходимость предоставления соглашения CLA и соответствующего оформления запроса на включение внесенных изменений (например, добавление метки, комментария). Просто следуйте инструкциям бота. Будет достаточно выполнить их один раз для всех репозиториев, поддерживающих соглашение CLA.

В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения: Вопросы и ответы по правилам поведения. С любыми другими вопросами или комментариями обращайтесь по адресу opencode@microsoft.com.