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 已经是该服务的贡献者)