2

プログラムで Azure Stream Analytics ジョブを作成しようとしました (そして失敗しました)。私はもともとこの例に従っていました:

https://azure.microsoft.com/en-gb/documentation/articles/stream-analytics-dotnet-management-sdk/

しかし、ログインするためのダイアログが表示されます。このサーバー側を実行できるようにしたいのです。Resource Manager API を使用するには、Azure AD を使用する必要があるようです。私はこれを通して自分の道を歩んできました:

https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx#bk_portal

コードは次のようになります。

var authContext = new AuthenticationContext("https://login.microsoftonline.com/{tenant id}/oauth2/token");
var clientId = "{app client id}";
var appKey = "{app key}";
var subscriptionId = "{subscription id}";
var clientCredential = new ClientCredential(clientId, appKey);

var result = authContext.AcquireToken("https://management.core.windows.net/", clientCredential);
var creds = new TokenCloudCredentials(subscriptionId, result.AccessToken);

var client = new StreamAnalyticsManagementClient(creds);

var jobCreateParameters = new JobCreateOrUpdateParameters
        {
            Job = new Job
            {
                Name = streamAnalyticsJobName,
                Location = "North Europe",
                Properties = new JobProperties
                {
                    EventsOutOfOrderPolicy = EventsOutOfOrderPolicy.Adjust,
                    Sku = new Sku
                    {
                        Name = "Standard"
                    }
                }
            }
        };

 var jobCreateResponse = client.StreamingJobs.CreateOrUpdate(resourceGroupName, jobCreateParameters);

トークンを正常に取得できますが、ジョブの作成に失敗します:

AuthorizationFailed: The client 'REDACTED' with object id 'REDACTED' does not have authorization to perform action 'Microsoft.StreamAnalytics/streamingjobs/write' over scope '/subscriptions/REDACTED/resourcegroups/REDACTED/providers/Microsoft.StreamAnalytics/streamingjobs/REDACTED'

私は何か間違ったことをしていますか?アプリには、委任されたアクセス許可が設定されています。

4

1 に答える 1