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

Azure函数Blob触发器事件订阅创建后消失问题求助

问题描述

在Blob容器中创建.xlsx文件时触发Azure Functions函数,采用Event Grid实现。本地运行正常,但部署到云端后,创建的Event Subscription刷新页面后立即消失,函数无法触发。相关代码配置如下:

init.py

import logging
import azure.functions as func

def main(myblob: func.InputStream):
    print(f"TIPO: {type(myblob)}")
    logging.info(f"Python blob trigger function processed blob \n"
                 f"Name: {myblob.name}\n"
                 f"Blob Size: {myblob.length} bytes")

function.json

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "myblob",
      "type": "blobTrigger",
      "direction": "in",
      "path": "samples-workitems/{name}",
      "source": "EventGrid",
      "connection": "mvpblobpoc_STORAGE"
    }
  ]
}

host.json

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.3.0, 4.0.0)"
  },
  "concurrency": {
    "dynamicConcurrencyEnabled": true,
    "snapshotPersistenceEnabled": true
  }
}
解决建议
  • 检查存储账户权限:确保函数应用的系统标识(或连接字符串对应的账户)拥有存储账户的Event Grid Data Sender权限,同时Event Grid需能访问存储账户的事件源。
  • 验证扩展与运行时兼容性:确认host.json中扩展包版本([3.3.0, 4.0.0))适配Azure Functions v4运行时,云端函数应用需配置为v4版本。
  • 排查订阅创建失败细节:
    • 用Azure CLI执行az eventgrid event-subscription list --source-resource-id <你的存储账户ID>,确认订阅是否实际未创建成功。
    • 查看存储账户事件订阅的历史记录,检查是否有权限不足、端点验证失败等错误。若函数应用启用了访问限制,需允许Event Grid的服务标签或IP范围访问。
  • 确认连接字符串有效性:云端函数应用的应用设置中,mvpblobpoc_STORAGE连接字符串需正确配置,且对应账户拥有Blob数据读取及事件订阅相关权限。
  • 手动创建事件订阅:跳过函数自动创建逻辑,手动在存储账户的Event Grid事件源中创建订阅,目标选择对应Azure Functions的blob触发器,验证订阅是否能持久化。
  • 查看函数运行日志:通过Application Insights或函数应用的日志流,排查是否有订阅创建失败的错误日志,比如端点超时、权限缺失等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 23:53:10