我正在尝试使用 azcli 工具将一些文件从 ADLS 中的一个目录移动到另一个目录。
这是我的命令:
az dls fs move --account <my dlsname> --source-path /temp/ --
destination-path /temp/ymd=2019-05-31/
这是我不断收到的错误:
The command failed with an unexpected error. Here is the traceback:
Operation failed: RENAME, temp
Traceback (most recent call last):
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/knack/cli.py", line 206, in invoke
cmd_result = self.invocation.execute(args)
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 560, in execute
raise ex
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 618, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 611, in _run_job
six.reraise(*sys.exc_info())
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/six.py", line 693, in reraise
raise value
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 588, in _run_job
result = cmd_copy(params)
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 297, in __call__
return self.handler(*args, **kwargs)
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/cli/core/__init__.py", line 453, in default_command_handler
return op(**command_args)
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/cli/command_modules/dls/custom.py", line 251, in move_adls_item
client.mv(source_path, destination_path)
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/datalake/store/core.py", line 536, in mv
destination=path2.as_posix())
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/datalake/store/lib.py", line 458, in call
self.log_response_and_raise(response, err)
File "/usr/local/Cellar/azure-cli/2.0.64/libexec/lib/python3.7/site-packages/azure/datalake/store/lib.py", line 344, in log_response_and_raise
raise exception
azure.datalake.store.exceptions.DatalakeRESTException: Operation failed: RENAME, temp
有关此的文档也非常薄弱:https://learn.microsoft.com/en-us/cli/azure/dls/fs?view=azure-cli-latest#az-dls-fs-move
我得到这个命令的一些变体。我一定在语法上遗漏了一些东西。
@乔什,
我尝试了相同的代码,它对我有用,我尝试了移动命令的两种变体:
以下是准确的命令:
az login
az account set --subscription 'subscriptionid'
# move the complete folder
az dls fs move --account 'accountName'--destination-path '/mvdest' --source-path '/destination'
#move the file
az dls fs move --account 'accountName'--destination-path '/destination/test.txt' --source-path '/source/test.txt'
这是相同的输出:
使用此命令之前,请确保您拥有正确的权限集。
希望有帮助。
我刚刚帮助一位同事解决了这个问题,我对上面的回复有一些注释......