Python için Azure İletişim Odaları istemci kitaplığı - sürüm 1.0.0
Bu paket, Odalar için Azure İletişim Hizmetleri için bir Python SDK içerir. Azure İletişim Hizmetleri hakkında daha fazla bilgiyi burada bulabilirsiniz
Bildirim
Python 2.7 için Azure SDK Python paketleri desteği 01 Ocak 2022'de sona erdi. Daha fazla bilgi ve soru için lütfen https://github.com/Azure/azure-sdk-for-python/issues/20691
Önemli kavramlar
Azure İletişim Odaları paketi aşağıdakileri yapmak için kullanılır:
- Zamanlanmış toplantılar oluşturma
- Katılımcıları için yönetilen izinlere sahip toplantılar oluşturma
Başlarken
Paketi yükleme
python -m pip install azure-communication-rooms
Önkoşullar
- Bu paketi kullanmak için Python 3.7 veya üzeri gereklidir.
- Bu paketi kullanmak için bir Azure aboneliğine ihtiyacınız vardır.
- Dağıtılan bir İletişim Hizmetleri kaynağı. Ayarlamak için Azure Portal'ı veya Azure PowerShell kullanabilirsiniz.
İstemci Başlatma
Rooms İstemcisi'ni başlatmak için bağlantı dizesi örnek olarak kullanılabilir.
from azure.communication.rooms import RoomsClient
client = RoomsClient.from_connection_string(conn_str='<connection_str>' )
Örnekler
Anahtar parametreler
valid_from
: Odanın var olandan başlayacağı bir datetime nesnesivalid_until
: Oda toplantısının sona ereceği tarih saat nesnesiparticipants
: Odaya davetlilerin MR'larını içeren bir listeRoomParticipant
ve isteğe bağlıParticipantRole
. BelirtilmezseParticipantRole
, varsayılan olarak belirtilirAttendee
. Yukarıdaki özniteliklerin tümü isteğe bağlıdır. Hizmet, valid_until varsayılan değerlerini ve eksikse valid_from sağlar. içinvalid_from
varsayılan geçerli tarih saati ve varsayılanıvalid_until
ise şeklindedirvalid_from + 180 days
.
Oda oluşturma
Oda oluşturmak için işlevinden RoomsClient
çağırıncreate_room
. valid_from
, valid_until
ve participants
bağımsız değişkenlerinin tümü isteğe bağlıdır.
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)
Odayı güncelleştirme
valid_from
Oluşturulan bir odanın ve valid_until
özellikleri, işlevinden RoomsClient
çağrılarak update_room
güncelleştirilebilir.
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))
Oda al
Oluşturulan bir oda işlevi RoomsClient
çağrılarak get_room
ve ilişkili room_id
içinde geçirilerek alınabilir.
try:
get_room_response = client.get_room(room_id="id of the room to get")
except HttpResponseError as ex:
print(ex)
Liste odaları
işlevinden RoomsClient
çağrılarak list_rooms
bir ACS kaynağıyla oluşturulan tüm geçerli odaları alın.
try:
list_room_response = client.list_rooms()
except HttpResponseError as ex:
print(ex)
Odayı silme
Bir odayı silmek için RoomsClient'dan işlevini çağırın 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))
Odaya katılımcı ekleme veya güncelleştirme
Yeni katılımcı eklemek veya mevcut katılımcıları güncelleştirmek için RoomsClient'dan işlevini çağırın 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))
Katılımcıları kaldırma
RoomsClient'dan işlevini çağırarak remove_participants
katılımcıları odadan kaldırın.
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)
Katılımcıları listeleme
var olan bir odanın katılımcı listesini almak için adresine başvurun room_id
:
try:
participants = self.rooms_client.list_participants(room_id)
except HttpResponseError as ex:
print(ex)
Sorun giderme
Sunucuya yönelik istek başarısız olursa Rooms işlemleri bir özel durum oluşturur. Rooms istemcisi , Azure Core'da tanımlanan özel durumları tetikler.
Sonraki adımlar
Daha fazla örnek kod
Oda oluşturmak ve yönetmek için bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.
Geri Bildirim Sağlama
Herhangi bir hatayla karşılaşırsanız veya önerileriniz varsa, lütfen projenin Sorunlar bölümünde bir sorun oluşturun
Katkıda bulunma
Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için bkz. https://cla.microsoft.com.
Bir çekme isteği gönderdiğinizde, CLA robotu bir CLA sağlamanız gerekip gerekmediğini otomatik olarak belirler ve çekme isteğini uygun şekilde donatır (örn. etiket, açıklama). Robot tarafından sağlanan yönergeleri izlemeniz yeterlidir. Bu işlemi, CLA’mızı kullanarak tüm depolarda yalnızca bir kere yapmanız gerekir.
Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları hakkında SSS bölümüne bakın veya başka soru ya da görüşleriniz olursa opencode@microsoft.com ile iletişime geçin.
Azure SDK for Python