列出所有工作區對象

列出給定路徑下的所有Databricks工作空間對象。

寫的亞當Pavlacka

最後發布時間:2022年5月19日

您可以使用Databricks工作區API (AWS|Azure|GCP)遞歸地列出給定路徑下的所有工作區對象。

這方麵的常用用例包括:

  • 為工作區中所有用戶的所有筆記本名稱和類型建立索引。
  • 使用輸出,結合其他API調用,以刪除未使用的工作區或管理筆記本。
  • 動態地獲取給定用戶下的筆記本的絕對路徑,並將其提交給Databricks Jobs API以觸發基於筆記本的作業(AWS|Azure|GCP).

定義函數

此示例代碼定義了函數和運行該函數所需的邏輯。

你應該把這段代碼放在筆記本的開頭。

你需要替換<標記>使用您的個人訪問令牌(AWS|Azure|GCP).

%python import requests import json from ast import literal_eval # Authorization headers = {'Authorization': ' holder ',} #定義rec_req為函數。#注意:默認路徑為“/”,會掃描所有用戶和文件夾。def rec_req(instanceName,loc="/"): data_path = '{{"path": "{0}"}}'.format(loc) instance = instanceName url = '{}/api/2.0/workspace/list'.format(instance) response = requests. request。get(url, headers=headers, data=data_path) #當目錄或url不存在時拋出異常。response.raise_for_status() jsonResponse = response.json() for i,result in jsonResponse.items(): for result: dump = json.dumps(value) data = literal_eval(dump) if data['object_type'] == 'DIRECTORY': #遍曆所有文件夾。rec_req(instanceName,data['path']) elif data['object_type'] == 'NOTEBOOK': #返回筆記本路徑。print(data) else: #跳過導入的庫。通過

運行函數

一旦在筆記本上定義了函數,就可以隨時調用它。

你需要替換<實例名稱>使用實例名(AWS|Azure|GCP)你的Databricks部署。這通常是URL,不帶任何工作區ID。

你需要替換<路徑>你想要搜索的完整路徑。這通常是/

% python rec_req (" https:// <實例名稱>”、“<路徑>”)
刪除

信息

你不應該包含一個尾隨/作為實例名的最後一個字符。如果有尾隨,該函數將生成一個錯誤/包括在內。