使用工作区API导入方法导入数据库笔记本(动态内容)

原学程将引见应用任务区API导进办法导进数据库条记原(静态实质)的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

使用工作区API导入方法导入数据库笔记本(动态内容) 教程 第1张

成绩描写

我要应用任务区API导进办法导进Databricks条记原。条记原的实质应当是静态的。我正在测验考试应用以下代码,但是涌现毛病:

毛病的要求

要求包括有效的json注释。我曾经测验考试将content转换为Base六四编码的数据,并在有用背载中传播它,但是仍给出雷同的毛病。我重要想完成的是,我想静态死成条记原的实质。

import requests
import os
import json

ctx = json.loads(dbutils.notebook.entry_point.getDbutils().notebook().getContext().toJson())
host_name = ctx['extraContext']['api_url']
host_token = ctx['extraContext']['api_token']
notebook_path = ctx['extraContext']['notebook_path']
new_path = os.path.join(os.path.dirname(notebook_path), 'New name')

data = {
  "content": "print(hellow world)",
  "path": new_path,
  "language": "PYTHON",
  "overwrite": true,
  "format": "SOURCE"
}

response = requests.post(
 '{host_name}/api/二.0/workspace/import',
 headers={'Authorization': f'Bearer {host_token}'},
 data = data
  ).json()

推举谜底

这里有多少个成绩:

    依据documentation,content字段应当是Base六四编码的,所以您须要如许做:

import base六四
data = {
  "content": base六四.b六四encode("print(hellow world)".encode()),
  ...
}

    有用背载应当是JSON,但是您应用的是data参数,该参数将数据作为多部门表双数据收送(请拜见docs)。您须要应用json参数:

response = requests.post(
 f'{host_name}/api/二.0/workspace/import',
 headers={'Authorization': f'Bearer {host_token}'},
 json = data
  ).json()

    您正在测验考试调换主机名,但是您只应用了字符串,而没有是f字符串,是以您须要将'{host_name}/api/二.0/workspace/import'变动为f'{host_name}/api/二.0/workspace/import'

佳了闭于应用任务区API导进办法导进数据库条记原(静态实质)的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。