Azure Data Lake:对Azure Data Lake Store的请求未经授权

时间:2016-01-21 06:49:20

标签: azure azure-table-storage azure-data-factory azure-data-lake

我们正在尝试将数据从Azure Table Storage迁移到Azure Data Lake。所以我们创建了一个数据工厂(带有链接服务,数据集和管道)。 Pipline是使用“复制操作”创建的。

我们选择“Azure Data Lake Store”之一的链接服务,我们授权配置,最终配置如下所示

{
    "name": "XXXXXStoreLinkedService",
    "properties": {
        "description": "",
        "hubName": "XXXXXXdatafactory_hub",
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://XXXXXX.azuredatalakestore.net/webhdfs/v1",
            "authorization": "**********",
            "sessionId": "**********",
            "subscriptionId": "XXXXXXXXXXXXXXXXXXX",
            "resourceGroupName": "XXXXXXXXXXXXXXX"
        }
    }
}

创建管道后,似乎正在发生数据移动。但是我们收到了这个错误

  

复制活动遇到用户错误:   错误码= UserErrorAdlsUnauthorizedAccess,'类型= Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,消息=该   要求'Azure Data Lake Store'是   未经授权的源= Microsoft.DataTransfer.ClientLibrary, '' 类型= System.Net.WebException,消息=该   远程服务器返回错误:(403)Forbidden。,Source = System,'

从这个错误中,我们似乎有未经授权的请求。但如上所述,我们正确授权Azure Data Lake商店链接服务。

任何人都可以告诉我们,这个错误的可能情况是什么,以及我们需要在这里做些什么。

3 个答案:

答案 0 :(得分:1)

您能否确认您获得授权信息的用户是否已被允许访问相应的Data Lake Store帐户?

https://azure.microsoft.com/en-us/documentation/articles/data-lake-store-secure-data/

详情请见上述链接。这是三步过程。所以,确保你已经完成了所有这些。

谢谢, 萨钦

Azure Data Lake项目经理

答案 1 :(得分:0)

我们解决这个问题的方法是通过选中“所有用户和组”旁边的三个框来打开访问权限:

enter image description here

我创建了所有数据工厂和数据湖商店资产作为所有者,但仍然获得了您所做的授权错误。唯一的区别是我的数据工厂与Data Lake Store的订阅不同。我不认为这应该是重要的,因为我是同一个微软登录的两个订阅的管理员,并且是Data Lake Store的所有者...可能有一个更集中的方式来做到这一点,但AAD的东西在接受的答案对我不起作用......在此之前,这将有效。

答案 2 :(得分:0)

您需要在根级别设置递归执行权限,以便对目录结构下的文件执行操作。这在图像中更容易解释。请参阅 -

https://azure.microsoft.com/en-gb/documentation/articles/data-lake-store-access-control/#common-scenarios-related-to-permissions