Клиентская библиотека пакета 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 в Службы коммуникации Azure
- Базовое руководство по настройке отчетов о доставке для SMS-сообщений см. в кратком руководстве по обработке событий SMS.
Больше примеров кода
Подробные примеры использования этой библиотеки для отправки sms см. в каталоге примеров .
Отзывы
Если вы столкнулись с ошибками или у вас есть предложения, сообщите о проблеме в разделе Проблемы проекта.
Участие
На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Для получения подробных сведений посетите веб-страницу https://cla.microsoft.com.
При отправке запроса на включение внесенных изменений CLA-бот автоматически определит необходимость предоставления соглашения CLA и соответствующего оформления запроса на включение внесенных изменений (например, добавление метки, комментария). Просто следуйте инструкциям бота. Будет достаточно выполнить их один раз для всех репозиториев, поддерживающих соглашение CLA.
В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.
Azure SDK for Python
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по