0

按照 Azure 参考站点进行分析服务处理服装 .NET 活动

https://github.com/Azure/Azure-DataFactory/tree/master/Samples/AzureAnalysisServicesProcessSample

在这个例子中,我们有 Pipeline to Process Cube

`       "TabularDatabaseName": "<DATABASE_NAME>",
        "AzureADAuthority": "https://login.windows.net/<TENANT_ID>",
        "AzureADResource": "https://<LOCATION>.asazure.windows.net",
        "AzureADClientId": "<CLIENT_ID>",
        "AzureADClientSecret": "<CLIENT_SECRET>"` 

首先我们需要知道我们如何获得 AzureADResource 和 AzureADAuthority 信息。

当我们传递硬编码密码而不是 {0) 时,此管道也可以正常工作

所以我们不明白问题出在哪里。我们这里提供的 ServicePrincipalAuth 是正确的还是必须提供密码

问候, 马尼什

4

1 回答 1

0

请关注 MSDN 中的这篇文章,其中提到了如何在 AD 中创建应用程序并创建 AD 服务主体。

https://docs.microsoft.com/en-us/azure/data-factory/data-factory-create-data-factories-programmatically

第 7 步将返回 AD 服务主体。

此外,为了能够运行管道,在创建与 ADF 的连接时需要客户端,这需要客户端 ID、客户端密钥、订阅 ID 和租户 ID。

这就是我创建 ADF 客户端的方式。

private void CreateADFClient()
    {
        AuthenticationContext authenticationContext = new AuthenticationContext($"https://login.windows.net/{tenant_id}");
        ClientCredential credential = new ClientCredential(clientId: this.client_id, clientSecret: this.client_key);
        Task<AuthenticationResult> result = authenticationContext.AcquireTokenAsync(resource: "https://management.core.windows.net/", clientCredential: credential);

        if (result == null)
        {
            throw new InvalidOperationException("Failed to obtain the JWT token");
        }

        string token = result.Result.AccessToken;

        TokenCloudCredentials credentials = new TokenCloudCredentials(subscription_id, token);
        this.inner_client = new DataFactoryManagementClient(credentials);
    }

您在执行 MSDN 中的步骤时提供的应用程序名称将返回应用程序的名称,记下应用程序名称并通过 Azure Active Directory --> App Registrations --> 在 Azure 门户上找到它。与它相对应的是您的应用程序 ID,即此处的客户端 ID

要创建客户端密钥,请单击应用程序名称并转到“密钥”部分并添加密钥描述和验证并保存。保存后将显示该值,这是您的客户端密钥。请注意,下次您访问此页面时会看到它,但当然,您可以创建另一个。

可以通过单击帮助-> 显示诊断来下载租户 ID 。将下载一个文件,您可以从中搜索租户 ID。

希望这能解决您的问题!

于 2017-09-21T13:01:29.013 回答