適用于 Python 的 Azure 通訊室用戶端程式庫 - 1.0.0 版
此套件包含適用于會議室之 Azure 通訊服務 的 Python SDK。 在這裡深入瞭解Azure 通訊服務
免責聲明
Python 2.7 的 Azure SDK Python 套件支援已于 2022 年 1 月 1 日結束。 如需詳細資訊和問題,請參閱 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
:日期時間物件,之後會議室會議會結束participants
:包含受邀者加入會議室以及選擇性ParticipantRole
的 MRI 清單RoomParticipant
。 如果未ParticipantRole
指定 ,則預設會是Attendee
。 上述所有屬性都是選擇性的。 如果遺漏valid_until和valid_from,服務會提供預設值。 的預設值valid_from
是目前的日期時間,而 的valid_until
預設值為valid_from + 180 days
。
建立會議室
若要建立會議室,請從 RoomsClient
呼叫 函 create_room
式。 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
從 呼叫 update_room
RoomsClient
函式,即可更新所建立會議室的 和 valid_until
屬性。
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))
取得會議室
藉由呼叫 RoomsClient
函 get_room
式並傳入相關聯的 room_id
,即可擷取已建立的空間。
try:
get_room_response = client.get_room(room_id="id of the room to get")
except HttpResponseError as ex:
print(ex)
列出會議室
從 RoomsClient
呼叫 list_rooms
函式,以 ACS 資源建立的所有有效會議室。
try:
list_room_response = client.list_rooms()
except HttpResponseError as ex:
print(ex)
刪除會議室
若要刪除會議室,請從 RoomClient 呼叫 函 delete_room
式。
try:
client.delete_room(
room_id="id of the room to be deleted")
except HttpResponseError as e:
print('service responds error: {}'.format(e))
在會議室中新增或更新參與者
若要插入新的參與者或更新現有的參與者,請從 RoomsClient 呼叫 函 add_or_update_participants
式。
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))
移除參與者
從 RoomClient 呼叫 remove_participants
函式,從會議室移除參與者。
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)
疑難排解
如果伺服器的要求失敗,會議室作業將會擲回例外狀況。 會議室用戶端會引發 Azure Core中定義的例外狀況。
下一步
更多的程式碼範例
請參閱 範例 目錄,以取得如何使用此程式庫來建立和管理會議室的詳細範例。
提供意見反應
如果您遇到任何錯誤或有建議,請在專案的 [ 問題 ] 區段中提出問題
參與
此專案歡迎參與和提供建議。 大部分的參與都要求您同意「參與者授權合約 (CLA)」,宣告您有權且確實授與我們使用投稿的權利。 如需詳細資料,請前往 https://cla.microsoft.com 。
當您提交提取要求時,CLA Bot 會自動判斷您是否需要提供 CLA,並適當地裝飾 PR (例如標籤、註解)。 請遵循 bot 提供的指示。 您只需要使用我們的 CLA 在所有存放庫上執行此動作一次。
此專案採用 Microsoft Open Source Code of Conduct (Microsoft 開放原始碼管理辦法)。 如需詳細資訊,請參閱管理辦法常見問題集,如有其他問題或意見,請連絡 opencode@microsoft.com。