我们刚刚开始评估azure的datalake服务。我们创建了我们的湖,通过门户我们可以看到服务的两个公共URL(一个是https://scheme,另一个是adl://scheme)
datalake文档声明确实有两个接口:webhdfs restapi和adl。***但是,我在azure上找不到有关使用此接口的更多信息。
我试着用web浏览器和curl戳给定的https://url。服务正在响应。回复是json,这和预期的一样,因为datalake是hadoop的一个示例。然而,我似乎无法访问我的文件[我通过门户网站上传到我们的湖中]。
例如,如果我执行get to“/foo.txt”,则回复是一个错误,resourcenotfound。
如果我使用典型的hadoophdfs语法执行get,“/webhdfs/v1/foo.txt”,则回答是一个错误,authenticationfailed。其他文本表示缺少访问令牌。这似乎更有希望。但是,找不到有关生成此类访问令牌的任何信息。
有一些关于使用adl接口,以及.net和visualstudio的文档,但这不是我最初想要的。
非常感谢您的帮助!
1条答案
按热度按时间v09wglhw1#
我很感激这个论坛的马修希克斯职位概述了如何做到这一点
curl
. 我把它包在powershell里。我相信有很多方法可以做到这一点,但这里有一个可行的方法。首先设置一个aad应用程序,以便您可以填写下面提到的client\u id和client\u secret(假设您希望自动执行此操作,而不是交互式登录。如果您想要交互式登录,那么在上面的论坛帖子中会有一个指向该方法的链接。)
然后在前5行中填写设置并运行以下powershell脚本: