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)
下一步
- 了解更多关于Azure通信服务中的短信信息
- 有关如何为您的短信消息配置投递报告的基本指南,请参阅处理短信事件快速入门。
更多示例代码
请查看示例目录,了解如何使用此库发送短信的详细示例。
提供反馈
如果您遇到任何错误或有建议,请在项目的问题部分提交问题
贡献
此项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议(CLA),声明您有权,并且实际上确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.microsoft.com。
提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地装饰PR(例如,标签、注释)。只需遵循机器人提供的说明即可。您只需在所有使用我们的CLA的存储库中这样做一次。
此项目已采用Microsoft开源行为准则。有关更多信息,请参阅行为准则FAQ或通过opencode@microsoft.com联系以获取任何额外的问题或评论。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码发行版
构建发行版
哈希值 for azure_communication_sms-1.1.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3ce901924661a7e9f684c777784cdd09d0c2277489a3b563b025868f74d7a676 |
|
MD5 | 2defcd4980cbe07c03694aa5dd79a874 |
|
BLAKE2b-256 | b67ea926d0dec83c244ec7567020652edbcfe533a98ce1c665943017d10ee3b9 |