列出所有工作區對象

列出給定路徑下的所有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 #授權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(實例)response =請求。get(url, headers=headers, data=data_path) #如果目錄或url不存在將引發異常。response.raise_for_status() jsonResponse = response.json() for i,result in jsonResponse.items(): for value in result: dump = json.dumps(value) data = literal_eval(dump) if data['object_type'] == 'DIRECTORY': #遍曆所有文件夾。rec_req(instanceName,data['path']) elif data['object_type'] == 'NOTEBOOK': #返回NOTEBOOK路徑。print(data) else: #跳過導入的庫。通過

運行函數

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

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

你需要替換<路徑>使用您想要搜索的完整路徑。這是典型的/

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

信息

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