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

如何重定向用户至Databricks Notebook并实现URL参数动态响应?

在外部Web门户中传递参数到Databricks Notebook并自动执行操作

1. 构造带参数的重定向URL

直接按你提供的格式构造URL,替换占位符为实际值即可:

https://<workspace-url>/editor/notebooks/<notebook-id>?o=<org-id>&param_name=ABC-12345
  • <workspace-url>:你的Databricks工作区域名(例如adb-xxxxxxxxx.xx.azuredatabricks.net)
  • <notebook-id>:目标Notebook的唯一ID(可从Notebook页面URL中提取)
  • <org-id>:你的Databricks组织ID(同样从页面URL中获取)
  • 参数部分:用&拼接任意键值对,比如&study_id=ABC-12345&region=us-west

2. 在Notebook中自动获取URL参数

有两种可靠方式提取URL传递的参数:

方法1:使用Databricks Widgets(推荐)

Widgets会自动读取URL参数并填充,无需手动解析:

# 创建文本输入Widget,名称需与URL参数名完全一致
dbutils.widgets.text("param_name", "", "参数显示名称")

# 获取参数值
param_value = dbutils.widgets.get("param_name")

# 处理参数为空的情况
if not param_value:
    param_value = "默认值"

这种方式的优势是:即使无URL参数,也能通过Widget界面手动输入;同时URL参数会自动覆盖默认值。

方法2:直接解析Notebook URL

如果不需要Widget界面,可直接解析当前Notebook的URL提取参数:

from urllib.parse import urlparse, parse_qs

# 获取当前Notebook的运行URL
notebook_url = dbutils.notebook.entry_point.getDbutils().notebook().getContext().currentRunUrl().get()

# 解析URL中的查询参数
parsed_url = urlparse(notebook_url)
query_params = parse_qs(parsed_url.query)

# 获取指定参数的值,不存在则返回空字符串
param_value = query_params.get("param_name", [""])[0]

3. 自动执行查询或更新仪表盘

拿到参数后,直接用参数驱动数据处理和展示,无需用户手动操作:

示例:安全过滤数据并展示

from pyspark.sql.functions import col

# 用参数过滤数据(避免SQL注入的安全写法)
filtered_df = spark.table("你的目标表").filter(col("study_id") == param_value)

# 直接展示过滤结果,仪表盘会自动更新
display(filtered_df)

示例:执行参数化SQL查询

# 安全的参数化SQL查询
result_df = spark.sql("SELECT * FROM 你的目标表 WHERE study_id = ?", param_value)
display(result_df)

用户打开Notebook后,会自动完成参数获取、查询执行和结果展示的全流程,无需任何手动操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:52:09