运行 Azure 笔记本 API(外部)

Run Azure Notebook By API (external)

我正在尝试从节点 运行 笔记本,一切正常,除了笔记本不接受参数,而是根据默认参数发送输出。我没有找到我做错的地方。

下面是我的电话:

var job_payload = {
            "run_name": runName,
            "existing_cluster_id": 'cluster_id',
            "notebook_task":
            {
                "notebook_path": notebookPath
            },
            "notebook_params": notebook_params //{'x':1,'y':2}
        }
        
        var url = "https://<location>.<azr_databricks>.net/api/2.0/jobs/runs/submit";
        var options = {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'Authorization': 'Bearer token'
            },
            body: JSON.stringify(job_payload),
        };

我的笔记本:

import json
dbutils.widgets.text("x", '3', "firstParam")
dbutils.widgets.text("y", '4', "secondParam")
x=int(dbutils.widgets.get("x"))
y=int(dbutils.widgets.get("y"))
sum=x+y
class Output:
  def __init__(self, val):
    self.resultTest2 = val

p1 = Output(sum)
print(p1.resultTest2)
result=json.dumps(p1.__dict__)
#RETURNING THE OUTPUT
dbutils.notebook.exit(result)

我正在发送 x:1 和 y:2 作为参数,但我得到的不是输出 3,而是默认值 7。

由于我没有从文档中得到太多帮助,请帮助:

文档 URL:Microsoft link

我从下面得到了错误的答案 link :

job_payload 将如下所示:

var job_payload = {
            "run_name": runName,
            "existing_cluster_id": 'cluster_id',
            "notebook_task":
            {
                "notebook_path": notebookPath,
                "base_parameters":notebook_params //{'x':1,'y':2}
            },
           
        }
        
        var url = "https://<location>.<azr_databricks>.net/api/2.0/jobs/runs/submit";
        var options = {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'Authorization': 'Bearer token'
            },
            body: JSON.stringify(job_payload),
        };

现在,一切正常。