0

ノード js を使用して Azure AD への認証を行い、データ レイク ストレージ アカウントを作成しています。ログインしますが、アカウントの作成で次のエラーが発生します: コード: 'InvalidAuthenticationTokenTenant'、 メッセージ: 'アクセス トークンは間違った発行者からのものです \' https://sts.windows.n et\'. このサブスク リプションに関連付けられているテナント \' https://sts.windows.net/ \' と一致する必要があります。

var msRestAzure = require('ms-rest-azure');
var adlsManagement = require("azure-arm-datalake-store");

msRestAzure.interactiveLogin(function(err, credentials) {

 var accountName = 'testadlsacct';
 var pathToEnumerate = '/myfolder';
  var acccountClient = new adlsManagement.DataLakeStoreAccountClient(credentials, 'dxxxxxxx-dxxx-4xxx-bxxx-5xxxxxxxxx');
 var filesystemClient = new adlsManagement.DataLakeStoreFileSystemClient(credentials);

  var util = require('util');
var resourceGroupName = 'testrg';
var accountName = 'testadlsacct';
var location = 'eastus2';


var accountToCreate = {
  tags: {
    testtag1: 'testvalue1',
    testtag2: 'testvalue2'
  },
  name: accountName,
  location: location
};
var client= new adlsManagement.DataLakeStoreAccountClient(credentials,    'dxxxxxxxx-xxx-xxxx--xxxxxx');
    client.account.create(resourceGroupName, accountName, accountToCreate,     function (err, result, request, response) 
//other code here
});
4

1 に答える 1

4

ms-rest-azure のmsRestAzure.interactiveLogin関数がどのように記述されているかを見ると、複数の Azure Active Directory (テナント)。

サブスクリプションに関連付けられているテナントを渡す必要があります。これは、表示される最新の完全なエラー メッセージで示されます。テナントは、"contoso.com"、"contoso.onmicrosoft.com" のように見えるか、GUID である可能性があります。

これにより、使用するディレクトリを明示的に指定することで、認証呼び出しのあいまいさがなくなります。

これが役立つことを願っています!

于 2016-09-07T20:22:22.763 に答える