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

使用Azure Function在数据上传时触发管道的实现方案

解决方案:事件驱动触发Azure ML管道

针对你的需求,放弃轮询、实现新图片上传时触发Azure ML管道,有以下几个可行方案:

1. 利用上传平台的Webhook触发(优先推荐)

如果你的图片上传平台支持Webhook通知功能,直接配置平台在新图片完成上传时调用一个Azure Function(替换原有的Timer Function),在Function中编写代码触发Azure ML管道:

  • 核心代码示例(Python):
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    from azure.ai.ml.entities import PipelineJob
    
    # 初始化ML客户端
    ml_client = MLClient(
        DefaultAzureCredential(),
        subscription_id="你的订阅ID",
        resource_group_name="你的资源组名称",
        workspace_name="你的Azure ML工作区名称"
    )
    
    # 触发指定管道
    pipeline_job = ml_client.jobs.create_or_update(
        PipelineJob(
            name="new-image-triggered-pipeline",
            pipeline_id="你的管道ID",
            compute="你的计算集群名称"
        )
    )
    
  • 注意:给Azure Function配置访问Azure ML工作区的权限(推荐用托管标识),避免硬编码密钥。

2. 通过Azure Event Grid实现事件驱动

如果上传平台是Azure服务(比如Azure Blob存储),可以直接订阅存储账户的BlobCreated事件,当新图片上传时,Event Grid自动触发Azure Function,再由Function启动ML管道;如果是非Azure平台,只要它能将上传事件推送到Event Grid,也可以用这个方案,减少自定义Webhook的开发工作量。

3. 优化现有Timer Function(过渡方案)

如果暂时无法启用事件驱动,可优化轮询逻辑减少无效执行:

  • 在Function中记录上次检查的时间戳(存在Azure Storage或数据库中),每次只检查该时间戳之后上传的图片;
  • 仅当检测到新图片时,再执行触发ML管道的代码,避免空跑。

关键注意事项

  • 确保ML管道的输入数据源配置正确,能获取到新上传的图片;
  • 给触发管道的操作添加日志,方便排查触发失败的问题;
  • 可在ML管道中添加数据校验步骤,过滤无效的图片上传,避免浪费计算资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:25:36