如何使用Azure CLI重命名Data Lake Gen2文件夹?

时间:2019-11-05 15:12:20

标签: azure-data-lake azure-cli azure-data-lake-gen2

我正在使用Azure Data Lake Gen2,并且有一个名为 myfolder 的文件夹,其中包含 1000s 个文件。在Azure存储CLI上是否有命令用于重新命名文件夹和/或将整个文件夹移动到ADLS Gen2的另一个位置

在Azure Databricks内部,我可以轻松利用linux mv bash命令:

  • mv myfolder newname用于重命名 myfolder
  • mv myfolder /dbfs/mount/myadls/target/用于将 myfolder 移至 target 文件夹。

是否有使用Azure CLI进行操作的简单方法?

2 个答案:

答案 0 :(得分:0)

根据我的研究,如果您想管理Data Lake Gen2目录,现在我们可以使用Azure data lake gen2 rest api。有关更多详细信息,请参阅document

例如,如果要重命名文件夹,则可以使用the rest api

PuT https://<your account name>.dfs.core.windows.net/<file system name>/<new folder name>
Header:
x-ms-rename-source : /<file system name>/<orginal folder name>
Authorization : Bearer access token.

关于如何调用rest api,请参考以下步骤 1.创建服务主体

az login
az ad sp create-for-rbac --name ServicePrincipalName
  1. 将角色分配给服务负责人
az role assignment create \
    --role "Storage Blob Data Contributor" \
    --assignee < your service principal name> \
    --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>"
  1. 调用其余的api
az login --service-principal  --username <your service principal app id> --password <your service principal password>--tenant <your tenant id>

az rest --method put --uri https://testadls05.dfs.core.windows.net/test/testFolder --resource https://storage.azure.com --headers x-ms-rename-source=/test/testFolder1

enter image description here enter image description here

答案 1 :(得分:0)

更新:现已提供ADLS Gen2 CLI

我们可以使用az storage fs directory move命令重命名或移动目录。

示例1 :在同一文件系统中将目录从名称my-directory重命名为my-new-directory

az storage fs directory move -n my-directory -f my-file-system --new-directory "my-file-system/my-new-directory" --account-name mystorageaccount --auth-mode login

示例2 :此示例将目录移动到名为my-second-file-system的文件系统。

az storage fs directory move -n my-directory -f my-file-system --new-directory "my-second-file-system/my

有关更多信息,请访问official documentation