ADLS ACL 规范不适用于 Azure cli

ADLS ACL specification not working with Azure cli

我正在尝试 运行 将以下命令 update the access control list 用于 adls gen 1 中的文件,它工作正常。

az dls fs access set-entry --account dpreptestfiles --acl-spec user:82095126-2a6c-497e-b3dc-7638515fbc30:-w- --path /

但是,用变量名替换 objectid 是行不通的。以下命令抛出异常:

$managedIdentityObjectId = "82095126-2a6c-497e-b3dc-7638515fbc30"
az dls fs access set-entry --account dpreptestfiles --acl-spec user:$managedIdentityObjectId:-w- --path /

这是我得到的异常:

The command failed with an unexpected error. Here is the traceback:
Data-lake REST exception: MODIFYACLENTRIES, .
Traceback (most recent call last):
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-yf22vmg2\knack\knack\cli.py", line 215, in invoke
  File "D:\a\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\core\commands\__init__.py", line 654, in execute
  File "D:\a\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\core\commands\__init__.py", line 718, in _run_jobs_serially
  File "D:\a\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\core\commands\__init__.py", line 711, in _run_job
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-yf22vmg2\six\six.py", line 703, in reraise
  File "D:\a\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\core\commands\__init__.py", line 688, in _run_job
  File "D:\a\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\core\commands\__init__.py", line 325, in __call__
  File "D:\a\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\core\__init__.py", line 545, in default_command_handler
  File "D:\a\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\command_modules\dls\custom.py", line 304, in set_adls_item_acl_entry
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-yf22vmg2\azure-datalake-store\azure\datalake\store\core.py", line 509, in modify_acl_entries
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-yf22vmg2\azure-datalake-store\azure\datalake\store\core.py", line 459, in _acl_call
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-yf22vmg2\azure-datalake-store\azure\datalake\store\lib.py", line 454, in call
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-yf22vmg2\azure-datalake-store\azure\datalake\store\lib.py", line 349, in log_response_and_raise
azure.datalake.store.exceptions.DatalakeRESTException: Data-lake REST exception: MODIFYACLENTRIES, .
To open an issue, please run: 'az feedback'

请帮忙解决这个问题。

添加下面的 "",它对我有用。

$managedIdentityObjectId = "82095126-2a6c-497e-b3dc-7638515fbc30"
az dls fs access set-entry --account dpreptestfiles --acl-spec user:"$managedIdentityObjectId":-w- --path /