我编写了控制台应用程序来监控/分析Azure数据湖存储中的文件。我在Azure活动目录中创建了一个应用程序来访问azure资源。我遵循了给出的所有步骤,让here能够访问蔚蓝数据湖存储上的应用程序。我提供了对父目录和数据湖存储的所有幼童文件夹/文件的访问权限。
现在,我可以通过我的代码访问文件。我试图通过在代码中使用DataLakeStoreFileSystemManagement Client获取USQL作业在数据湖存储中生成的文件的修改时间和过期时间。我正在使用微软提供的.NET API进行数据湖分析和数据湖存储。
我正在为我提供访问的文件获取所有这些信息。但是,当usql作业在蔚蓝数据湖存储中添加一个新的文件夹/文件时,我将不会在代码中获得修改时间和过期时间。相反,我得到了禁止错误403.的例外。
Usql作业每天都会创建大量的文件夹,我只是无法手动访问所有新创建的文件和文件夹。它应该继承新创建的文件夹/文件的访问角色。
我该怎么办?或者是Azure数据湖商店的一个bug?请帮帮忙。
发布于 2018-01-30 09:23:09
您不允许在user的用户代码中调用REST端点(原因解释为here)。DataLakeStoreFileSystem管理客户端试图(递归地)通过REST端点调用ADL,并被容器边界保护所阻塞。因此,403 (禁止)是故意的。
我们正在努力将文件属性添加到我们的upcoming中,作为即将进行的刷新中的元属性。那有帮助吗?
发布于 2018-02-05 17:31:04
我们需要更多信息来调试您所面临的问题。请提交一张支持票(从Azure门户),然后给我电子邮件票证号码(cpalmer@microsoft.com)。在“支持票证”中,标识ADLS帐户名、访问的时间戳、要访问的文件/文件夹的名称,以及当您认为创建了该文件/文件夹时(近似)时间戳。
https://stackoverflow.com/questions/48515840
复制相似问题