每当我运行U-SQL 作业时,我都会从数据工厂收到以下错误
Job submission failed, the user 'adla account name' does not have permissions to a subfolder in the /system/ path needed by Data Lake Analytics. Please run “Add User Wizard” from the Data Lake Analytics Azure Portal or use Azure PowerShell to grant access for the user to the /system/ and its children on the Data Lake Store.
而且我没有按照这篇文章中的建议使用任何防火墙:
使用 Azure 数据工厂从 C# 代码运行 U-SQL 脚本
我正在使用 Azure 数据湖存储服务主体身份验证。当我从Visual Studio启动作业时,它也可以正常工作。
我将不胜感激任何想法...
谢谢
如果要使用服务主体从 Azure 数据工厂授权 Azure 数据湖分析链接服务,则可能是你的问题。
我有一个未完成的支持票证Microsoft因为服务主体身份验证方法仅适用于简单的数据工厂活动,如"复制"。如果您想对复杂的活动进行身份验证,例如"DotNotActivity",则它不起作用。
我的建议是将链接服务更改回使用会话和令牌身份验证,然后部署您的活动并重试。
希望这有帮助。
这听起来确实像是一个权限问题。可以运行此 Powershell 脚本,以确保已将适当的权限应用于安全主体:
Login-AzureRmAccount
$appname = “adla”
$dataLakeStoreName = “yourdatalakename”
$app = Get-AzureRmADApplication -DisplayName $appname
$servicePrincipal = Get-AzureRmADServicePrincipal -SearchString $appname
Set-AzureRmDataLakeStoreItemAclEntry -AccountName $dataLakeStoreName -Path / -AceType User -Id $servicePrincipal.Id -Permissions All
Set-AzureRmDataLakeStoreItemAclEntry -AccountName $dataLakeStoreName -Path /system -AceType User -Id $servicePrincipal.Id -Permissions All
如果您想使用 powershell 脚本从头开始创建所有内容,这里有一个博客可以帮助您:
http://dyor.com/setting-up-an-azure-data-lake-and-azure-data-factory-using-powershell/