Поделиться через


Клиентская библиотека пакета SMS для коммуникации Azure для Python версии 1.0.1

Этот пакет содержит пакет SDK python для Службы коммуникации Azure для SMS. Дополнительные сведения о Службы коммуникации Azure см. здесь.

Исходный код | Пакет (Pypi) | Справочная документация по | API Документация по продукту

Начало работы

Предварительные требования

  • Для использования этого пакета требуется Python 2.7 или 3.6 (или более поздней версии).
  • Развернутый ресурс Служб коммуникации. Для настройки можно использовать портал Azure или Azure PowerShell.
  • У вас должен быть настроенный номер телефона, связанный с подпиской Azure.

Установка пакета

Установите клиентную библиотеку Azure Communication SMS для Python с помощью pip:

pip install azure-communication-sms

Основные понятия

Пакет SMS для связи Azure используется для выполнения следующих действий:

  • Отправка личного текстового сообщения
  • Отправка группового текстового сообщения

Примеры

В следующем разделе представлено несколько фрагментов кода, охватывающих некоторые из наиболее распространенных задач Службы коммуникации Azure, в том числе:

Инициализация клиента

Чтобы инициализировать SMS-клиент, можно использовать строку подключения для создания экземпляра. Кроме того, можно использовать проверку подлинности Active Directory с помощью DefaultAzureCredential.

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())

Отправка личного текстового сообщения

После инициализации send клиента можно вызвать метод :

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_: номер телефона с поддержкой SMS, связанный со службой связи.
  • to: номер телефона или список номеров телефонов, на которые вы хотите отправить сообщение.
  • message: сообщение, которое вы хотите отправить.
  • enable_delivery_report: необязательный параметр, который можно использовать для настройки отчетов о доставке. Это полезно, если вы хотите, чтобы при доставке SMS-сообщений создавались события.
  • tag: необязательный параметр, который можно использовать для настройки настраиваемых тегов.

Отправка группового текстового сообщения

После инициализации send клиента можно вызвать метод :

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_: номер телефона с поддержкой SMS, связанный со службой связи.
  • to: номер телефона или список номеров телефонов, на которые вы хотите отправить сообщение.
  • message: сообщение, которое вы хотите отправить.
  • enable_delivery_report: необязательный параметр, который можно использовать для настройки отчетов о доставке. Это полезно, если вы хотите, чтобы при доставке SMS-сообщений создавались события.
  • tag: необязательный параметр, который можно использовать для настройки настраиваемых тегов.

Устранение неполадок

Если запрос к серверу завершится сбоем, операция SMS вызовет исключение. Клиент SMS будет вызывать исключения, определенные в Azure Core. Исключения не будут создаваться, если ошибка вызвана отдельным сообщением, только в случае сбоя общего запроса. Используйте флаг успешно, чтобы проверить каждый отдельный результат, чтобы проверить, было ли отправлено сообщение.

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)

Дальнейшие действия

Больше примеров кода

Подробные примеры использования этой библиотеки для отправки sms см. в каталоге примеров .

Отзывы

Если вы столкнулись с ошибками или у вас есть предложения, сообщите о проблеме в разделе Проблемы проекта.

Участие

На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Для получения подробных сведений посетите веб-страницу https://cla.microsoft.com.

При отправке запроса на включение внесенных изменений CLA-бот автоматически определит необходимость предоставления соглашения CLA и соответствующего оформления запроса на включение внесенных изменений (например, добавление метки, комментария). Просто следуйте инструкциям бота. Будет достаточно выполнить их один раз для всех репозиториев, поддерживающих соглашение CLA.

В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.