node.js - 从 Node.js 运行的 Databricks 笔记本
问题描述
我正在尝试通过 API 端点调用 Databricks api 以通过其 ID 运行笔记本或作业,api/2.0/jobs/run-now
但我收到类似 getaddrinfo ENOTFOUND 的错误 https://adb-<workspace-id>.<random-number>.azuredatabricks.net/api/2.0/jobs/run-now
。但我给出了正确的 url(注意:我按照示例作业 API中提到的示例将 url 从浏览器地址栏复制到 .net
下面是我的 Node.JS 代码:
router.get('/triggerJob', (req, res) => {
var job_payload = {
"job_id": <Job_ID>
}
var options = {
host: 'https://adb-<workspaceid>.<number>.azuredatabricks.net/api/2.0/jobs/run-now',
body: JSON.stringify(job_payload),
method: 'Post',
headers: { 'Authorization': 'token' }
}
var data = '';
console.log('till here')
var request = https.request(options, function (result) {
var body = "";
result.on('data', function (data) {
console.log('data came');
body += data;
});
result.on('end', function () {
console.log('ended too');
data = JSON.parse(body);
res.json(data);
});
});
request.on('error', function (e) {
console.log('Problem with request: ' + e.message);
});
request.end();
})
解决方案
当我得到我的问题的解决方案时,我想与所有人分享以供将来参考。
根据微软文档:在此处输入链接描述
他们要求我们点击网址,https://adb-<workspaceid>.<number>.azuredatabricks.net/api/2.0/jobs/run-now
但我得到的是我们需要点击网址:
https://<{locationname}>.azuredatabricks.net 然后是 api/2.0/jobs/run-now。所以下面是相同的代码:
const request=require("request");
const rp=require("request-promise");
const triggerJob=((res,req)=>{
var job_payload = {
"job_id": <Job_ID>
}
var options = {
host: 'https://<locationname>.azuredatabricks.net/api/2.0/jobs/run-now',
body: JSON.stringify(job_payload),
method: 'Post',
headers: { 'Content-Type':'application/jsoon','Authorization': 'Bearer token' }
}
var response=await rp(url,options);
if(response!=null){
return res.json(response)
}
});
module.exports= triggerJob;
为了清楚起见,我最小化了代码行。
推荐阅读
- google-analytics - 在没有浏览量的情况下发送 GA 电子商务事件
- ios - 在同一个项目和同一个包 ID 上与其他人合作
- sas - 如何在 SAS 中按类和 ID 创建运行条件和变量
- linux - 使用 Yocto 配方构建内核时如何启用 tc 命令
- excel - 具有多个查找值但针对一个单元格的索引和匹配公式
- sql - 定义字段的(别名)名称
- python - 将两个包含字符串的数组映射到相同的整数值
- c++ - 在地图中使用自定义删除器存储 unique_ptr
- javascript - jQuery高度函数返回不同的值
- ubuntu - 无法在 ubuntu 18.04 上运行“apt upgrade”--systemd-shim 错误