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

Databricks作业运行时Notebook访问URL生成异常解决方案咨询

问题根因
  • Databricks作业属于后台非交互式执行环境,不存在前端浏览器上下文,因此browserHostName、browserHash两个前端相关参数本身不会被注入到执行上下文,无法获取属于正常现象
  • 原有代码未主动拼接Notebook ID的通用路径规则,作业场景缺失browserHash的情况下会自动跳转至快照接口路径,无法正常访问Notebook页面
修复方案

统一使用Databricks公开的通用Notebook访问路径规则:{workspace_host}/?o={workspace_id}#notebook/{notebook_id},该规则对交互式、作业场景均生效:

  • 优先保留交互式场景的browserHostName、browserHash逻辑,不影响原有交互式执行的链接生成效果
  • 作业场景降级使用webapp_url作为工作区域名,主动拼接Notebook ID生成稳定访问链接
  • 支持可选拼接命令ID参数,可直接跳转至Notebook内的指定执行命令位置
修改后的代码

首先补充原有代码缺失的依赖工具函数:

def _get_active_spark_session():
    try:
        from pyspark.sql import SparkSession
        return SparkSession.getActiveSession()
    except ImportError:
        return None

替换原有get_workspace_info_from_dbutils方法:

def get_workspace_info_from_dbutils():
    dbutils = _get_dbutils()
    if not dbutils:
        return None
    # 读取通用基础参数
    workspace_id = get_workspace_id()
    notebook_id = get_notebook_id()
    if not workspace_id or not notebook_id:
        return None
    
    # 交互式场景逻辑,兼容原有实现
    browser_hostname = get_browser_hostname()
    if browser_hostname:
        workspace_host = f"https://{browser_hostname}"
        browser_hash = _get_context_tag('browserHash')
        base_url = f"{workspace_host}/?o={workspace_id}{browser_hash or ''}"
        # 可选拼接具体命令的定位路径
        command_run_id = get_command_run_id()
        if command_run_id:
            return f"{base_url}/command/{command_run_id}"
        return base_url
    
    # 作业场景降级逻辑
    workspace_host = get_webapp_url()
    if not workspace_host:
        return None
    # 使用通用Notebook路径规则生成链接
    return f"{workspace_host}/?o={workspace_id}#notebook/{notebook_id}"
效果说明
  • 交互式运行:和原有逻辑完全一致,生成带具体命令定位的访问链接
  • 作业运行:生成格式为https://<工作区域名>/?o=<工作区ID>#notebook/<Notebook ID>的链接,点击可直接跳转至对应Notebook的主页面
  • 若需跳转至对应作业的运行日志页面,可额外拼接作业ID、运行ID生成链接:{workspace_host}/?o={workspace_id}#job/{get_job_id()}/run/{get_job_run_id()}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:24:01