Aracılığıyla paylaş


Python için Azure İletişim SMS Paketi istemci kitaplığı - sürüm 1.0.1

Bu paket, SMS için Azure İletişim Hizmetleri için bir Python SDK içerir. Azure İletişim Hizmetleri hakkında daha fazla bilgiyi burada bulabilirsiniz

Kaynak kodu | Paket (Pypi) | API başvuru belgeleri | Ürün belgeleri

Başlarken

Önkoşullar

  • Bu paketi kullanmak için Python 2.7 veya 3.6 veya üzeri gereklidir.
  • Dağıtılan bir İletişim Hizmetleri kaynağı. Ayarlamak için Azure Portal'ı veya Azure PowerShell kullanabilirsiniz.
  • Azure aboneliğiyle ilişkilendirilmiş yapılandırılmış bir telefon numaranız olmalıdır

Paketi yükleme

Pip ile Python için Azure İletişim SMS istemci kitaplığını yükleyin:

pip install azure-communication-sms

Önemli kavramlar

Azure İletişim SMS paketi aşağıdakileri yapmak için kullanılır:

  • 1:1 SMS mesajı gönderme
  • 1:N SMS mesajı gönderme

Örnekler

Aşağıdaki bölümde, en yaygın Azure İletişim Hizmetleri görevlerden bazılarını kapsayan çeşitli kod parçacıkları sağlanır:

İstemci Başlatma

SMS İstemcisi'ni başlatmak için bağlantı dizesi örnek olarak kullanılabilir. Alternatif olarak, DefaultAzureCredential kullanarak Active Directory kimlik doğrulamasını da kullanabilirsiniz.

from azure.communication.sms import SmsClient
from azure.identity import DefaultAzureCredential

connection_str = "endpoint=ENDPOINT;accessKey=KEY"
sms_client = SmsClient.from_connection_string(connection_string)

# To use Azure Active Directory Authentication (DefaultAzureCredential) make sure to have
# AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET as env variables.
endpoint = "https://<RESOURCE_NAME>.communication.azure.com"
sms_client = SmsClient(endpoint, DefaultAzureCredential())

1:1 SMS mesajı gönderme

İstemci başlatıldıktan send sonra yöntemi çağrılabilir:

from azure.communication.sms import SendSmsOptions

sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number-1>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property
  • from_: İletişim hizmetinizle ilişkili SMS özellikli bir telefon numarası.
  • to: İleti göndermek istediğiniz telefon numarası veya telefon numarası listesi.
  • message: Göndermek istediğiniz ileti.
  • enable_delivery_report: Teslim raporlamayı yapılandırmak için kullanabileceğiniz isteğe bağlı bir parametre. Bu, SMS iletileri teslim edildiğinde olayları yaymak istediğiniz senaryolar için kullanışlıdır.
  • tag: Özel etiketlemeyi yapılandırmak için kullanabileceğiniz isteğe bağlı bir parametre.

1:N SMS mesajı gönderme

İstemci başlatıldıktan send sonra yöntemi çağrılabilir:

from azure.communication.sms import SendSmsOptions

sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to=["<to-phone-number-1>", "<to-phone-number-2>", "<to-phone-number-3>"],
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property
  • from_: İletişim hizmetinizle ilişkili SMS özellikli bir telefon numarası.
  • to: İleti göndermek istediğiniz telefon numarası veya telefon numarası listesi.
  • message: Göndermek istediğiniz ileti.
  • enable_delivery_report: Teslim raporlamayı yapılandırmak için kullanabileceğiniz isteğe bağlı bir parametre. Bu, SMS iletileri teslim edildiğinde olayları yaymak istediğiniz senaryolar için kullanışlıdır.
  • tag: Özel etiketlemeyi yapılandırmak için kullanabileceğiniz isteğe bağlı bir parametre.

Sorun giderme

Sunucuya yönelik istek başarısız olursa SMS işlemleri bir özel durum oluşturur. SMS istemcisi , Azure Core'da tanımlanan özel durumları tetikler. Hata tek bir iletiden kaynaklanıyorsa özel durumlar oluşmaz; yalnızca bir şey genel istekle başarısız olursa. İletinin gönderilip gönderilmediğini doğrulamak için her bir sonucu doğrulamak için lütfen başarılı bayrağını kullanın.

try:
    sms_responses = sms_client.send(
        from_="<leased-phone-number>",
        to=["<to-phone-number-1>", "<to-phone-number-2>", "<to-phone-number-3>"],
        message="Hello World via SMS")
        
    for sms_response in sms_responses:
        if (sms_response.successful):
            print("Message with message id {} was successful sent to {}"
            .format(sms_response.message_id, sms_response.to))
        else:
            print("Message failed to send to {} with the status code {} and error: {}"
            .format(sms_response.to, sms_response.http_status_code, sms_response.error_message))
except Exception as ex:
    print('Exception:')
    print(ex)

Sonraki adımlar

Daha fazla örnek kod

Sms göndermek 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ı SSS bölümüne bakın veya ek sorular veya yorumlarla iletişime geçin opencode@microsoft.com .