az dls fs move 的语法正确吗?

问题描述 投票:0回答:2

我正在尝试使用 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

我得到这个命令的一些变体。我一定在语法上遗漏了一些东西。

python azure azure-cli
2个回答
0
投票

@乔什,

我尝试了相同的代码,它对我有用,我尝试了移动命令的两种变体:

enter image description here

以下是准确的命令:

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'

这是相同的输出:

enter image description here

使用此命令之前,请确保您拥有正确的权限集。

希望有帮助。


0
投票

我刚刚帮助一位同事解决了这个问题,我对上面的回复有一些注释......

  • 路径前面的“/”对我们不起作用(我们确实尝试过这种方式)
  • 对于您的帐户,只需输入帐户名即可。 因此,如果您的帐户是“myaccount.azuredatalakestore.net”,您将使用“myaccount”。
© www.soinside.com 2019 - 2024. All rights reserved.