我正在使用Azure Data Lake Gen2,并且我有一个名为myfolder的文件夹,其中包含1000s个文件。在Azure存储CLI上是否有命令用于ADLS Gen2的重命名文件夹和/或将整个文件夹移动到另一个位置?
在Azure Databricks内部,我可以轻松利用linux mv bash命令:
mv myfolder newname
重命名myfoldermv myfolder /dbfs/mount/myadls/target/
用于将myfolder移至target文件夹。是否有使用Azure CLI进行此操作的简单方法?
根据我的研究,如果您想管理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.
关于如何调用其余api,请参考以下步骤1.创建服务主体
az login
az ad sp create-for-rbac --name ServicePrincipalName
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>"
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