次の方法で共有


Python 用 Azure Communication Rooms クライアント ライブラリ - バージョン 1.0.0

このパッケージには、Rooms 用の Python SDK for Azure Communication Servicesが含まれています。 Azure Communication Servicesの詳細については、こちらを参照してください

免責事項

Python 2.7 の Azure SDK Python パッケージのサポートは、2022 年 1 月 1 日に終了しました。 詳細と質問については、https://github.com/Azure/azure-sdk-for-python/issues/20691 を参照してください

主要な概念

Azure Communication Rooms パッケージは、次の操作を行うために使用されます。

  • スケジュールされた会議を作成する
  • 参加者の管理されたアクセス許可を持つ会議を作成する

作業の開始

パッケージのインストール

python -m pip install azure-communication-rooms

前提条件

クライアントの初期化

Rooms クライアントを初期化するために、接続文字列を使用してインスタンス化できます。

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

ルームを作成する

ルームを作成するには、 から RoomsClient関数をcreate_room呼び出します。 、valid_fromvalid_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_until プロパティはvalid_from、 から RoomsClient関数をupdate_room呼び出すことによって更新できます。

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関数を呼び出して、ACS リソースで作成されたすべての有効な会議室をlist_rooms取得します。

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

ルームを削除する

会議室を削除するには、RoomsClient から 関数を 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))

参加者を削除する

RoomsClient から 関数を呼び出して、会議室から参加者を 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)

トラブルシューティング

サーバーへの要求が失敗した場合、Rooms 操作は例外をスローします。 Rooms クライアントは、 Azure Core で定義されている例外を発生させます。

次のステップ

その他のサンプル コード

このライブラリを使用して会議室を作成および管理する方法の詳細な例については、 サンプル ディレクトリを参照してください。

フィードバックの提供

バグが発生した場合、または提案がある場合は、プロジェクトの [問題 ] セクションに問題を報告してください

共同作成

このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。 詳細については、 https://cla.microsoft.com を参照してください。

pull request を送信すると、CLA を提供して PR (ラベル、コメントなど) を適宜装飾する必要があるかどうかを CLA ボットが自動的に決定します。 ボットによって提供される手順にそのまま従ってください。 この操作は、Microsoft の CLA を使用するすべてのリポジトリについて、1 回だけ行う必要があります。

このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳細については、「倫理規定の FAQ」をご覧ください。追加の質問やコメントがある場合は opencode@microsoft.com にお問い合わせください。