開始
加載和管理數據
處理數據
政府
引用和資源
2023年4月28日更新
給我們反饋
你可以叫的磚REST API自動化數據磚與Python代碼,而不是使用非Python命令行工具,如旋度郵遞員等或API客戶端。調用數據磚與Python REST API,您可以使用磚CLI的包作為一個圖書館。這個庫是用Python和使您能夠調用磚REST API通過密切的Python類模型磚REST API請求和響應的有效載荷。
旋度
請注意
直接使用Python請求圖書館是另一種方法。但是,你需要工作在較低的水平,手動提供必要的頭文件,處理錯誤,和其他相關底層編碼任務。有關更多信息,請參見使用Python來調用數據磚REST API。
實驗
這個磚CLI正在積極開發和發布實驗客戶端。這意味著接口仍可能發生變化。
磚CLI支持調用下麵的磚REST api:
集群政策API 2.0
集群API 2.0
DBFS API 2.0
組API 2.0
實例池API 2.0
喬布斯API 2.1, 2.0
庫API 2.0
三角洲生活表2.0 API
回購API 2.0
秘密API 2.0
令牌API 2.0
統一目錄API 2.1
工作區API 2.0
磚CLI不支持調用以下磚REST api:
賬戶API 2.0
磚SQL查詢、儀表板和警報API 2.0
磚API 2.0 SQL查詢曆史
磚的SQL API 2.0倉庫
Git憑證API 2.0
2.0全球Init腳本API
實例配置文件API 2.0
IP訪問列表API 2.0
MLflow API 2.0
權限API 2.0
SCIM API 2.0
令牌管理API 2.0
API 1.2
有關詳細信息,請參見磚REST API參考。
Python版本3.6或更高版本。檢查是否安裝了Python,如果檢查安裝的版本,運行python——版本從你的PowerShell的終端。安裝Python如果尚未安裝。
python——版本
python的版本
一些安裝Python的需要python3而不是python。如果是這樣,取代python與python3在這篇文章。
python3
python
的磚CLI。檢查是否數據磚CLI安裝,如果是,檢查安裝的版本運行磚——版本。磚CLI安裝、運行皮普安裝databricks-cli或python- m皮普安裝databricks-cli。
磚——版本
皮普安裝databricks-cli
python- m皮普安裝databricks-cli
#檢查是否數據磚CLI安裝,如果是檢查安裝的版本。磚,版本#安裝磚CLI。pip安裝databricks-cli#還是……python - m pip安裝databricks-cli
一些設施皮普需要pip3而不是皮普。如果是這樣,取代皮普與pip3在這篇文章。
皮普
pip3
你的工作區實例URL例如,https://dbc-a1b2345c-d6e7.cloud.m.eheci.com
https://dbc-a1b2345c-d6e7.cloud.m.eheci.com
磚的磚個人訪問令牌的工作區。創建一個磚個人訪問令牌,看到的磚個人訪問令牌;另請參閱管理個人訪問令牌。
通過磚與磚REST API進行身份驗證CLI包庫,您的Python代碼需要至少兩條信息:
你的工作區實例URL例如,https://dbc-a1b2345c-d6e7.cloud.m.eheci.com。
為代碼模塊化、可移植性和安全,你不應該硬編碼這些信息到您的Python代碼。相反,你應該檢索這些信息在運行時從一個安全的位置。例如,本文中的代碼使用以下環境變量:
DATABRICKS_HOST代表你的工作區實例URL例如,https://dbc-a1b2345c-d6e7.cloud.m.eheci.com。
DATABRICKS_HOST
DATABRICKS_TOKEN。磚的磚個人訪問令牌的工作區。創建一個磚個人訪問令牌,看到的磚個人訪問令牌;另請參閱管理個人訪問令牌。
DATABRICKS_TOKEN
你可以設置這些環境變量如下:
設置環境變量隻有當前終端會話,運行以下命令。為所有終端會話,設置環境變量中輸入以下命令shell啟動文件,然後重啟你的終端。這裏的示例值替換為你自己的價值觀。
出口DATABRICKS_HOST=“https://dbc-a1b2345c-d6e78.cloud.m.eheci.com”出口DATABRICKS_TOKEN=“dapi1234567890b2cd34ef5a67bc8de90fa12b”
設置環境變量隻有當前PowerShell會話,運行以下命令。這裏的示例值替換為你自己的價值觀。
集DATABRICKS_HOST=“https://dbc-a1b2345c-d6e78.cloud.m.eheci.com”集DATABRICKS_TOKEN=“dapi1234567890b2cd34ef5a67bc8de90fa12b”
設置環境變量對所有命令提示會話,運行以下命令,然後重新啟動命令提示符。這裏的示例值替換為你自己的價值觀。
對於setxDATABRICKS_HOST“https://dbc-a1b2345c-d6e78.cloud.m.eheci.com”對於setxDATABRICKS_TOKEN“dapi1234567890b2cd34ef5a67bc8de90fa12b”
在您的Python代碼文件,導入操作係統代碼庫,使環境變量的值。
進口操作係統
導入ApiClient類的databricks_cli.sdk.api_client模塊,使您的代碼與磚REST API進行身份驗證。
ApiClient
從databricks_cli.sdk.api_client進口ApiClient
根據需要導入額外的類,使您的代碼調用磚REST API進行身份驗證後,如下。
REST API
進口語句
進口
從databricks_cli.cluster_policies.api進口ClusterPolicyApi
從databricks_cli.clusters.api進口ClusterApi
從databricks_cli.dbfs.api進口DbfsApi
從databricks_cli.dbfs.dbfs_path進口DbfsPath
從databricks_cli.groups.api進口GroupsApi
從databricks_cli.instance_pools.api進口InstancePoolsApi
喬布斯API 2.1
從databricks_cli.jobs.api進口JobsApi(1)
從databricks_cli.jobs.api進口JobsApi
從databricks_cli.runs.api進口RunsApi(2)
從databricks_cli.runs.api進口RunsApi
從databricks_cli.libraries.api進口LibrariesApi
從databricks_cli.pipelines.api進口PipelinesApi,LibraryObject
從databricks_cli.repos.api進口ReposApi
從databricks_cli.secrets.api進口SecretApi
從databricks_cli.tokens.api進口TokensApi
從databricks_cli.unity_catalog.api進口UnityCatalogApi
從databricks_cli.workspace.api進口WorkspaceApi
(1)隻需要處理的工作。
(2)隻需要處理的工作。
例如,調用集群API 2.0,添加以下代碼:
使用ApiClient類與磚REST API進行身份驗證。使用操作係統圖書館的采用函數的工作區實例URL例如,https://dbc-a1b2345c-d6e7.cloud.m.eheci.com和令牌的值。下麵的例子使用的變量名api_client代表的一個實例ApiClient類。
操作係統
采用
api_client
api_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))
初始化類的實例來調用磚REST API進行身份驗證後,例如:
建議類初始化語句
cluster_policies_api=ClusterPolicyApi (api_client)
clusters_api=ClusterApi (api_client)
dbfs_api=DbfsApi (api_client)
groups_api=GroupsApi (api_client)
instance_pools_api=InstancePoolsApi (api_client)
jobs_api=JobsApi (api_client)(1)
jobs_api=JobsApi (api_client)
runs_api=RunsApi (api_client)(2)
runs_api=RunsApi (api_client)
libraries_api=LibrariesApi (api_client)
pipelines_api=PipelinesApi (api_client)
repos_api=ReposApi (api_client)
secrets_api=SecretApi (api_client)
tokens_api=TokensApi (api_client)
unity_catalog_api=UnityCatalogApi (api_client)
workspace_api=WorkspaceApi (api_client)
例如,初始化的實例集群API 2.0,添加以下代碼:
clusters_api=ClusterApi(api_client)
根據需要調用類方法對應於磚REST API的操作。找到方法調用簽名和使用筆記,看到以下模塊的文檔在磚CLI的源代碼。
模塊的文檔
databricks_cli.cluster_policies.api
databricks_cli.clusters.api
databricks_cli.dbfs.api
databricks_cli.dbfs.dbfs_path
databricks_cli.groups.api
databricks_cli.instance_pools.api
databricks_cli.jobs.api(1)
databricks_cli.runs.api(2)
databricks_cli.libraries.api
databricks_cli.databricks_cli.pipelines.api
databricks_cli.repos.api
databricks_cli.secrets.api
databricks_cli.tokens.api
databricks_cli.unity_catalog.api
databricks_cli.workspace.api
例如,要使用集群API 2.0在工作區中可用的集群名稱及其id列表,添加以下代碼:
clusters_list=clusters_api。list_clusters()打印(“集群名稱、集群ID”)為集群在clusters_list(“集群”]:打印(f”{集群(“cluster_name”]},{集群(“cluster_id”]}”)
前麵的說明的完整代碼如下:
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.clusters.api進口ClusterApiapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))clusters_api=ClusterApi(api_client)clusters_list=cluster_api。list_clusters()打印(“集群名稱、集群ID”)為集群在clusters_list(“集群”]:打印(f”{集群(“cluster_name”]},{集群(“cluster_id”]}”)
下麵的例子展示如何使用Python源代碼磚CLI和自動化的磚REST API的一些基本的使用場景。
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.dbfs.api進口DbfsApi從databricks_cli.dbfs.dbfs_path進口DbfsPathapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))dbfs_source_file_path=“dbfs: / tmp /用戶/ someone@example.com//hello-world.txt'local_file_download_path=”。/ hello-world.txt 'dbfs_api=DbfsApi(api_client)dbfs_path=DbfsPath(dbfs_source_file_path)#本地工作區文件下載。dbfs_api。get_file(dbfs_path,local_file_download_path,覆蓋=真正的)#打印下載文件的內容。打印(開放(local_file_download_path,“r”)。讀())
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.pipelines.api進口PipelinesApiapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))pipelines_api=PipelinesApi(api_client)pipelines_get=pipelines_api。得到(1234年a56b c789 - 0123 d456 - 78901234 e5f6”)打印(f“名稱:{pipelines_get(“名字”]}\ n”\fID:{pipelines_get(“pipeline_id”]}\ n”\f”狀態:{pipelines_get(“狀態”]}\ n”\f創造者:{pipelines_get(“creator_user_name”]}”)
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.unity_catalog.api進口UnityCatalogApiapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))unity_catalog_api=UnityCatalogApi(api_client)目錄=“主要”模式=“my_schema”#創建模式(也稱為一個數據庫)中指定的目錄。unity_catalog_create_schema=unity_catalog_api。create_schema(catalog_name=目錄,schema_name=模式,評論=“這是我的模式”)打印(f”模式:{unity_catalog_create_schema(“名字”]}\ n”\f”老板:{unity_catalog_create_schema(“主人”]}\ n”\f“Metastore ID:{unity_catalog_create_schema(“metastore_id”]}”)#刪除模式。unity_catalog_api。delete_schema(f”{目錄}。{模式}”)
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.workspace.api進口WorkspaceApi,WorkspaceFileInfoapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))workspace_api=WorkspaceApi(api_client)workspace_list_objects=workspace_api。list_objects(' /用戶/ someone@example.com/')為對象在workspace_list_objects:打印(對象。to_row(is_long_form=真正的,is_absolute=真正的))