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

Logic Apps触发Databricks笔记本后,如何实现返回响应?已用自定义连接器

问题解决方案

一、让Databricks向Logic Apps返回笔记本打印的返回值

  • 利用作业输出存储读取结果
    在Databricks笔记本里,把需要返回的内容写入DBFS或云存储(比如Azure Blob Storage)的指定位置,后续在Logic Apps里通过存储连接器或Databricks API读取该内容。
    笔记本示例代码:

    # 生成需要返回的结果
    return_result = "这里是笔记本执行后的返回内容"
    # 写入DBFS指定路径
    dbutils.fs.put("/tmp/notebook_result.txt", return_result, overwrite=True)
    

    Logic Apps中可添加「Azure Blob存储」的「获取Blob内容」动作,或调用Databricks的dbfs/read接口读取文件内容。

  • 通过Databricks API轮询作业输出
    用Logic Apps的HTTP动作调用jobs/run-now接口启动笔记本作业,拿到返回的run_id后,循环调用jobs/get-run-output接口轮询作业状态,直到作业完成后提取输出内容。注意如果要通过这个接口获取自定义返回值,需要在笔记本里用dbutils.notebook.exit("自定义返回内容")来输出结果,接口会返回该内容。

  • 配置Databricks作业Webhook主动推送
    在Databricks作业配置中添加Webhook,设置Logic Apps的HTTP触发端点作为接收地址。当作业执行完成时,Webhook会主动将作业输出(含笔记本返回内容)推送到Logic Apps,无需主动轮询。

二、无需自定义连接器的替代方案

直接用Logic Apps的HTTP动作调用Databricks REST API即可启动笔记本,步骤如下:

  1. 添加「HTTP」动作,请求方法设为POST,URL填Databricks的jobs/run-now接口地址(格式:https://<你的Databricks工作区域名>/api/2.0/jobs/run-now)。
  2. 请求头里添加Authorization,值为Bearer <你的Databricks个人访问令牌>,同时设置Content-Type为application/json。
  3. 请求体传入作业ID和参数(如果是通过作业运行笔记本),示例:
    {
      "job_id": 123,
      "notebook_params": {
        "input_param": "test_value"
      }
    }
    
    若要直接运行未关联作业的笔记本,可使用notebooks/run接口,请求体中指定笔记本路径、集群ID等参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:59:59