跳转到主要内容

Python的Microsoft Azure通信SMS客户端库

项目描述

Azure通信SMS包的Python客户端库

本包包含Azure通信服务的Python SDK。了解更多关于Azure通信服务请在此处

源代码 | 包(PyPI) | 包(Conda) | API参考文档 | 产品文档

免责声明

Azure SDK Python包对Python 2.7的支持已于2022年1月1日结束。有关更多信息,请参阅https://github.com/Azure/azure-sdk-for-python/issues/20691

入门指南

先决条件

  • 使用此包需要Python 3.7或更高版本。
  • 已部署的通信服务资源。您可以使用Azure门户Azure PowerShell来设置它。
  • 您必须配置一个与Azure订阅关联的电话号码。

安装包

使用pip安装Azure通信SMS Python客户端库

pip install azure-communication-sms

关键概念

Azure通信SMS包用于以下操作:

  • 发送一对一的短信消息
  • 发送一对多的短信消息

示例

以下部分提供了几个代码片段,涵盖了Azure通信服务的一些常见任务,包括:

客户端初始化

要初始化SMS客户端,可以使用连接字符串实例化。或者,您也可以使用DefaultAzureCredential通过Active Directory身份验证。

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_:与您的通信服务关联的短信启用电话号码。
  • to:您希望发送消息的电话号码或电话号码列表。
  • message:您要发送的消息。
  • enable_delivery_report:一个可选参数,您可以使用它来配置投递报告。这对于您希望在短信消息投递时发出事件的情况很有用。
  • 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_:与您的通信服务关联的短信启用电话号码。
  • to:您希望发送消息的电话号码或电话号码列表。
  • message:您要发送的消息。
  • enable_delivery_report:一个可选参数,您可以使用它来配置投递报告。这对于您希望在短信消息投递时发出事件的情况很有用。
  • 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)

下一步

更多示例代码

请查看示例目录,了解如何使用此库发送短信的详细示例。

提供反馈

如果您遇到任何错误或有建议,请在项目的问题部分提交问题

贡献

此项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议(CLA),声明您有权,并且实际上确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.microsoft.com

提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地装饰PR(例如,标签、注释)。只需遵循机器人提供的说明即可。您只需在所有使用我们的CLA的存储库中这样做一次。

此项目已采用Microsoft开源行为准则。有关更多信息,请参阅行为准则FAQ或通过opencode@microsoft.com联系以获取任何额外的问题或评论。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

azure_communication_sms-1.1.0.tar.gz (33.4 kB 查看哈希值)

上传时间 源代码

构建发行版

azure_communication_sms-1.1.0-py3-none-any.whl (41.7 kB 查看哈希值)

上传时间 Python 3

由以下支持