Клиентская библиотека Комнат коммуникации 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_until
—valid_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.
В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения: Вопросы и ответы по правилам поведения. С любыми другими вопросами или комментариями обращайтесь по адресу [email protected].
Azure SDK for Python