如何访问 Databricks Repos 元数据?
How do I access Databricks Repos metadata?
有没有办法在回购中访问笔记本中的回购 url 和分支名称等数据?也许在 dbutils 中有一些东西。
您可以为此使用 Repos API - 特别是 Get command。您可以通过 dbutils 从可用的笔记本上下文中提取笔记本路径,然后执行两个查询:
- 通过 Workspace API 按路径获取存储库 ID(存储库路径始终由 3 个部分组成 -
/Repos
、目录(用于用户或自定义)和实际存储库名称)
- 获取回购数据
像这样:
import json
import requests
ctx = json.loads(
dbutils.notebook.entry_point.getDbutils().notebook().getContext().toJson())
notebook_path = ctx['extraContext']['notebook_path']
repo_path = '/'.join(notebook_path.split('/')[:4])
api_url = ctx['extraContext']['api_url']
api_token = ctx['extraContext']['api_token']
repo_dir_data = requests.get(f"{api_url}/api/2.0/workspace/get-status",
headers = {"Authorization": f"Bearer {api_token}"},
json={"path": repo_path}).json()
repo_id = repo_dir_data['object_id']
repo_data = requests.get(f"{api_url}/api/2.0/repos/{repo_id}",
headers = {"Authorization": f"Bearer {api_token}"}
).json()
有没有办法在回购中访问笔记本中的回购 url 和分支名称等数据?也许在 dbutils 中有一些东西。
您可以为此使用 Repos API - 特别是 Get command。您可以通过 dbutils 从可用的笔记本上下文中提取笔记本路径,然后执行两个查询:
- 通过 Workspace API 按路径获取存储库 ID(存储库路径始终由 3 个部分组成 -
/Repos
、目录(用于用户或自定义)和实际存储库名称) - 获取回购数据
像这样:
import json
import requests
ctx = json.loads(
dbutils.notebook.entry_point.getDbutils().notebook().getContext().toJson())
notebook_path = ctx['extraContext']['notebook_path']
repo_path = '/'.join(notebook_path.split('/')[:4])
api_url = ctx['extraContext']['api_url']
api_token = ctx['extraContext']['api_token']
repo_dir_data = requests.get(f"{api_url}/api/2.0/workspace/get-status",
headers = {"Authorization": f"Bearer {api_token}"},
json={"path": repo_path}).json()
repo_id = repo_dir_data['object_id']
repo_data = requests.get(f"{api_url}/api/2.0/repos/{repo_id}",
headers = {"Authorization": f"Bearer {api_token}"}
).json()