我已按照Azure文档步骤创建从Blob到SQL的简单复制数据工厂。
现在我想通过VS代码运行管道。 我检查了身份验证密钥,分配的角色是正确的。
以下是代码 -
var context = new AuthenticationContext("https://login.windows.net/" + tenantID);
ClientCredential cc = new ClientCredential(applicationId, authenticationKey);
AuthenticationResult result = context.AcquireTokenAsync("https://management.azure.com/", cc).Result;
ServiceClientCredentials cred = new TokenCredentials(result.AccessToken);
var client = new DataFactoryManagementClient(cred) { SubscriptionId = subscriptionId };
Console.WriteLine("Creating pipeline run...");
var st = client.Pipelines.Get(resourceGroup, dataFactoryName, pipelineName);
CreateRunResponse runResponse = client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName).Result.Body;
Console.WriteLine("Pipeline run ID: " + runResponse.RunId);
但是,我得到Forbidden error
。
对象ID为'xxxx'的客户端'xxxx'无权执行操作'Microsoft.DataFactory / factories / pipelinelines / read'over scope'/ subscriptions / xxxxx / resourceGroups /'
我该如何解决这个问题?
答案 0 :(得分:1)
我该如何解决这个问题?
根据异常消息,它表明您没有将相应的角色分配给应用程序以访问数据工厂。
我使用Azure Datafactory(V2)测试您的代码,它可以正常工作。以下是我的详细步骤。
指定应用程序的角色以访问datafactory。