您可以使用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:// <實例名稱>”、“<路徑>”)