Python权限访问Azure Datalake文件夹时出错

Python权限访问Azure Datalake文件夹时出错,python,permissions,azure-active-directory,azure-data-lake,azure-files,Python,Permissions,Azure Active Directory,Azure Data Lake,Azure Files,我正在尝试将文件从共享文件夹上载到Azure Datalake gen 1文件夹 现在,我只是测试连接,并列出根目录下的文件夹: adlCreds = lib.auth(tenant_id = tenant_id, client_secret = client_secret, client_id = client_id, resource = RESOURCE, azure_username = azure_username,azure_password=azure_password) adl

我正在尝试将文件从共享文件夹上载到Azure Datalake gen 1文件夹

现在,我只是测试连接,并列出根目录下的文件夹:

adlCreds = lib.auth(tenant_id = tenant_id, client_secret = client_secret, client_id = client_id, resource = RESOURCE, azure_username = azure_username,azure_password=azure_password)

adls = core.AzureDLFileSystem(adlCreds, store_name=adlsAccountName)

print(adls.ls())
这很好,我可以看到所有文件夹

但是,当我尝试使用ls方法或walk方法访问其中一个文件夹时,出现以下错误:

Traceback (most recent call last):
  File "C:\Users\Python37-32\test_azure.py", line 46, in <module>
    print(adls.ls('/Test'))
  File "C:\Users\Python37-32\lib\site-packages\azure\datalake\store\core.py", line 164, in ls
    files = self._ls(path, invalidate_cache)
  File "C:\Users\Python37-32\lib\site-packages\azure\datalake\store\core.py", line 143, in _ls
    self.dirs[key] = self._ls_batched(key, batch_size=batch_size)
  File "C:\Users\Python37-32\lib\site-packages\azure\datalake\store\core.py", line 124, in _ls_batched
    ls_call_result = self.azure.call('LISTSTATUS', path, **parms)
  File "C:\Users\Python37-32\lib\site-packages\azure\datalake\store\lib.py", line 437, in call
    self.log_response_and_raise(response, PermissionError(path), level=exception_log_level)
  File "C:\Users\Python37-32\lib\site-packages\azure\datalake\store\lib.py", line 345, in log_response_and_raise
    raise exception
PermissionError: Test
回溯(最近一次呼叫最后一次):
文件“C:\Users\Python37-32\test\u azure.py”,第46行,在
打印(adls.ls('/Test'))
文件“C:\Users\Python37-32\lib\site packages\azure\datalake\store\core.py”,第164行,在ls中
files=self.\u ls(路径,使缓存失效)
文件“C:\Users\Python37-32\lib\site packages\azure\datalake\store\core.py”,第143行,在
self.dirs[key]=self.\u ls\u批处理(key,batch\u size=batch\u size)
文件“C:\Users\Python37-32\lib\site packages\azure\datalake\store\core.py”,第124行,分批处理
ls\u call\u result=self.azure.call('LISTSTATUS',path,**parms)
文件“C:\Users\Python37-32\lib\site packages\azure\datalake\store\lib.py”,第437行,在调用中
self.log\u response\u and\u raise(响应,许可错误(路径),级别=异常\u日志\u级别)
文件“C:\Users\Python37-32\lib\site packages\azure\datalake\store\lib.py”,第345行,在log\u response\u和\u raise中
引发异常
许可错误:测试
我被授予根目录和“测试”文件夹的读、写和执行权限

你知道为什么拒绝许可吗


感谢您抽出时间。

除了对X文件夹和文件的权限外,您还需要对X的所有祖先执行(X)权限

您可以在此处进一步了解读取文件所需的权限

在此处读取此文档中的文件所需的权限:


添加我的评论作为回答:


该错误是由于您刚刚授予根目录的权限(添加到此文件夹,但不包含所有子目录)引起的。您还需要授予所有子目录的权限,然后该错误才会生效。

此错误与您刚刚授予根目录的权限(添加到此文件夹,但不包含所有子目录)非常相似,您是否可以确保您还授予了
测试
文件夹的权限?非常感谢,这就是问题所在。未选中将权限应用于子项的选项。现在可以了。