You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure Communication Services Python SDK接收SMS短信?

Azure Communication Service Python SDK 接收SMS的实现方式

目前ACS Python SDK并未提供直接拉取SMS消息的API,ACS的SMS接收采用事件推送模式:当有SMS发送到你绑定的ACS电话号码时,Azure会通过事件网格(Event Grid)将消息事件推送到你预先配置的端点,你需要在Python中编写端点服务来接收并解析这些事件数据。

具体实现步骤:

  • 第一步:在Azure门户配置ACS的事件订阅
    1. 进入你的ACS资源,找到「事件」选项卡
    2. 创建新的事件订阅,选择事件类型为Microsoft.Communication.SmsReceived
    3. 设置事件的接收端点(比如Azure函数、自建Web服务等)
  • 第二步:编写Python端点服务处理事件
    以Flask为例,编写一个接口接收事件网格推送的请求:
    from flask import Flask, request, jsonify
    
    app = Flask(__name__)
    
    @app.route("/sms-webhook", methods=["POST"])
    def receive_sms():
        # 获取事件网格推送的事件数据
        events = request.get_json()
        for event in events:
            # 解析SMS内容
            sms_data = event["data"]
            from_number = sms_data["from"]
            to_number = sms_data["to"]
            message_content = sms_data["message"]
            # 这里可以添加自定义处理逻辑,比如存储到数据库、触发业务流程等
            print(f"收到来自{from_number}的消息:{message_content}")
        return jsonify({"status": "success"}), 200
    
    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=5000)
    
  • 第三步:验证事件签名(可选但推荐)
    为了确保事件来自Azure官方,你可以通过事件网格提供的签名密钥验证请求的合法性,避免恶意请求。

补充说明:

  • 你需要先在Azure门户购买支持接收SMS的ACS电话号码
  • ACS的SMS接收功能依赖事件网格,并非通过SDK主动调用API拉取,因此在SDK文档和路线图中不会看到“接收SMS”的主动API

内容的提问来源于stack exchange,提问作者SeaDude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:55:19