以编程方式 运行 带有 LIKE 运算符的笔记本

Programmatically running notebook with LIKE operator

在 Databricks 存储库中,假设我想以编程方式 运行 一个标题为 'ExampleNotebook_45' 的笔记本,但我只想使用标题的一部分 'ExampleNotebook',我该如何写这个命令:

dbutils.notebook.run()

想到的类似语言是 sql 中的 LIKE 运算符,我可以按照以下行编写:

select * from table where name LIKE 'ar%'

经过一些研究,这是解决问题的答案,通过工作区获取文件夹中的文件列表API

import requests
import json

ctx = json.loads(dbutils.entry_point.getDbutils().notebook().getContext.toJson()) 
my_pat = ctx['extraContext']['api_token'] 
workspace_url = 'https://'

def list_files(base_path: str):
  lst = requests.request(method='get',
    url=f"{workspace_url}/api/2.0/workspace/list",
    headers={"Authentication": f"Bearer {my_pat}"}, 
    json={"path": base_path}).json()["objects"]
  results = []
  for i in lst:
    if i["object_type"] == "DIRECTORY" or i["object_type"] == "REPO":
      results.extend(list_files(i["path"]))
    else:
      results.append(i["path"])
  
  return results
  
all_files = list_files("base_path")

for i in all_files:
  if 'ExampleNotebook' in i:
    file_name = i
  else:
    continue

这将给我文件名(和路径),类似于 LIKE sql 运算符。