我编写了控制台应用程序来监视/分析Azure数据湖存储中的文件。我在Azure活动目录中创建了一个应用程序来访问azure资源。 我已经按照here给出的所有步骤来访问azure data lake store上的应用程序。我已经提供了访问父数据库和数据湖商店的所有childern文件夹/文件的权限。
现在,我可以通过我的代码访问这些文件。我正在尝试使用 DataLakeStoreFileSystemManagement 客户端获取数据存储区中USQL作业生成的文件的修改时间和到期时间 在代码中。我正在使用Microsoft提供的.NET API进行数据湖分析。数据湖商店。
我获取了我提供访问权限的文件的所有信息。 但是当usql作业在azure数据湖存储中添加一个新的文件夹/文件时,我的代码中没有得到修改时间和到期时间。相反,我得到禁止错误403。
的例外Usql作业每天创建大量文件夹,我无法去那里手动访问所有新创建的文件和文件夹。它应该继承新创建的文件夹/文件的访问角色。
我该怎么办?或者这是Azure数据湖存储中的错误? 请帮助。
答案 0 :(得分:0)
不允许您在U-SQL中的用户代码中调用REST端点(原因解释为here)。 DataLakeStoreFileSystem Management客户端尝试(递归地)通过REST端点调用ADL,并被容器边界保护阻止。所以403(Forbidden)是设计的。
我们正在努力将文件属性添加到我们的U-SQL API中,作为即将进行的刷新之一的元属性。那会有帮助吗?
答案 1 :(得分:0)
我们需要更多信息来调试您所面临的问题。请提交支持票(来自Azure门户),然后通过电子邮件向我发送票号(cpalmer@microsoft.com)。在支持服务单中,标识ADLS帐户名称,访问时间戳,您访问的文件/文件夹的名称403,以及您认为创建该文件/文件夹时的(大致)时间戳。