ADF V2 中的 USQL Activity - 2705 用户无法访问数据湖存储
USQL Activity in ADF V2 - 2705 User is not able to access to datalake store
当 运行 带有 Azure 数据工厂 V2 的 U-SQL 脚本时,我遇到了一个问题。
这个 U-SQL 脚本在门户或 vs 中运行良好:
@a =
SELECT * FROM
(VALUES
("Contoso", 1500.0, "2017-03-39"),
("Woodgrove", 2700.0, "2017-04-10")
) AS D( customer, amount );
@results =
SELECT
customer,
amount
FROM @a;
OUTPUT @results
TO "test"
USING Outputters.Text();
但是在 Azure Data Factory V2 Activity 中启动时不工作,在我的 ADF 脚本中。
Creating or updating linked service ADLA [adla] ...
{
"properties": {
"type": "AzureDataLakeAnalytics",
"typeProperties": {
"accountName": "adla",
"servicePrincipalId": "ea4823f2-3b7a-4c-78d29cffa68b",
"servicePrincipalKey": {
"type": "SecureString",
"value": "jKhyspEwMScDAGU0MO39FcAP9qQ="
},
"tenant": "41f06-8ca09e840041",
"subscriptionId": "9cf053128b749",
"resourceGroupName": "test"
}
}
}
Creating or updating linked service BLOB [BLOB] ...
{
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": {
"type": "SecureString",
"value": "DefaultEndpointsProtocol=https;AccountName=totoblob;AccountKey=qZqpKyGtWMRXZO2CNLa0qTyvLTMko4lzfgsg07pjloIPGZtJel4qvRBkoVOA==;EndpointSuffix=core.windows.net"
}
}
}
}
Creating or updating pipeline ADLAPipeline...
{
"properties": {
"activities": [
{
"type": "DataLakeAnalyticsU-SQL",
"typeProperties": {
"scriptPath": "src/test.usql",
"scriptLinkedService": {
"referenceName": "blob",
"type": "LinkedServiceReference"
},
"degreeOfParallelism": 1
},
"linkedServiceName": {
"referenceName": "adla",
"type": "LinkedServiceReference"
},
"name": "Usql-toto"
}
]
}
}
1 - 我检查了与 blob 存储的连接,成功找到了 u-sql 脚本(如果我重命名它,它会抛出一个未找到的错误)
2 - 我检查了与 Azure Data Lake Analytics 的连接,它似乎已连接,如果我设置了错误的凭据,它会抛出另一个错误
3 - 当 运行 管道出现以下错误时:"Activity Usql-toto failed: User is not able to access to datalake store" 实际上我不提供 Data Lake Store 凭据,但有一个默认的 datalake 存储帐户附加 ADLAnalytics。
有什么提示吗?
终于在这个 post 中找到了帮助:
文件夹系统和目录不继承父权限...所以我不得不重新分配这两个文件夹的权限。
我也遇到了这个问题。对我有帮助的是 运行 来自 Data Lake Analytics 的 "Add User Wizard"。使用此向导,我添加了我在 Data Lake Analytics 的链接服务中使用的服务主体,作为具有 R+W 权限的所有者。
在使用该向导之前,我尝试通过在浏览数据屏幕中设置适当的权限来手动配置它,但这并没有解决问题。 (SP 已经是该服务的贡献者)
当 运行 带有 Azure 数据工厂 V2 的 U-SQL 脚本时,我遇到了一个问题。
这个 U-SQL 脚本在门户或 vs 中运行良好:
@a =
SELECT * FROM
(VALUES
("Contoso", 1500.0, "2017-03-39"),
("Woodgrove", 2700.0, "2017-04-10")
) AS D( customer, amount );
@results =
SELECT
customer,
amount
FROM @a;
OUTPUT @results
TO "test"
USING Outputters.Text();
但是在 Azure Data Factory V2 Activity 中启动时不工作,在我的 ADF 脚本中。
Creating or updating linked service ADLA [adla] ...
{
"properties": {
"type": "AzureDataLakeAnalytics",
"typeProperties": {
"accountName": "adla",
"servicePrincipalId": "ea4823f2-3b7a-4c-78d29cffa68b",
"servicePrincipalKey": {
"type": "SecureString",
"value": "jKhyspEwMScDAGU0MO39FcAP9qQ="
},
"tenant": "41f06-8ca09e840041",
"subscriptionId": "9cf053128b749",
"resourceGroupName": "test"
}
}
}
Creating or updating linked service BLOB [BLOB] ...
{
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": {
"type": "SecureString",
"value": "DefaultEndpointsProtocol=https;AccountName=totoblob;AccountKey=qZqpKyGtWMRXZO2CNLa0qTyvLTMko4lzfgsg07pjloIPGZtJel4qvRBkoVOA==;EndpointSuffix=core.windows.net"
}
}
}
}
Creating or updating pipeline ADLAPipeline...
{
"properties": {
"activities": [
{
"type": "DataLakeAnalyticsU-SQL",
"typeProperties": {
"scriptPath": "src/test.usql",
"scriptLinkedService": {
"referenceName": "blob",
"type": "LinkedServiceReference"
},
"degreeOfParallelism": 1
},
"linkedServiceName": {
"referenceName": "adla",
"type": "LinkedServiceReference"
},
"name": "Usql-toto"
}
]
}
}
1 - 我检查了与 blob 存储的连接,成功找到了 u-sql 脚本(如果我重命名它,它会抛出一个未找到的错误)
2 - 我检查了与 Azure Data Lake Analytics 的连接,它似乎已连接,如果我设置了错误的凭据,它会抛出另一个错误
3 - 当 运行 管道出现以下错误时:"Activity Usql-toto failed: User is not able to access to datalake store" 实际上我不提供 Data Lake Store 凭据,但有一个默认的 datalake 存储帐户附加 ADLAnalytics。
有什么提示吗?
终于在这个 post 中找到了帮助:
文件夹系统和目录不继承父权限...所以我不得不重新分配这两个文件夹的权限。
我也遇到了这个问题。对我有帮助的是 运行 来自 Data Lake Analytics 的 "Add User Wizard"。使用此向导,我添加了我在 Data Lake Analytics 的链接服务中使用的服务主体,作为具有 R+W 权限的所有者。
在使用该向导之前,我尝试通过在浏览数据屏幕中设置适当的权限来手动配置它,但这并没有解决问题。 (SP 已经是该服务的贡献者)