Databricks CLI - 删除文件夹(如果存在)

Databricks CLI - delete folder if exists

当我尝试删除不存在的文件夹时 Databricks 抛出错误:

databricks workspace delete -r /Shared/myfolder

错误信息:

Error: b'{"error_code":"RESOURCE_DOES_NOT_EXIST","message":"Path (/Shared/myfolder) doesn\'t exist."}'

所以我可能需要在删除文件夹之前检查它是否存在?

伪代码示例:

if [ -d "/Shared/myfolder" ]; then databricks workspace delete -r /Shared/myfolder ; fi

如何使用 Databricks CLI 实现此功能?

CLI(和 REST API)中没有单独的功能来检查资源是否存在。您有两个选择:

  1. 只需忽略该错误 - 如果您不想在脚本中看到它,只需在命令末尾添加 > /dev/null

  2. 使用 ls 子命令检查目录是否存在,然后删除(但我个人认为这样做没有好处)。像这样:

FOLDER=/Shared/myfolder
databricks workspace ls $FOLDER > /dev/null
RES=$?
if [ $RES -eq 0 ]; then
  databricks workspace delete -r $FOLDER
fi

我个人会选择第一种方法