2016-11-11 4 views
0

.NET用Azure SDKを使用してSQL Azureデータベースのレプリケーションロールを確認しようとしています。C#でSQL Azureデータベースレプリケーションロールを取得する

サブスクリプションからデータベースを取得するのにSqlManagementClientを使用しましたが、複製の役割を示すプロパティはありません。

次のコードを使用してデータベースを取得しました。

var client = GetSqlManagementClient(); 

var database = client.Databases 
    .List("<serverName>") 
    .First(x => x.Name == "<databaseName>"); 

この情報を入手する別の方法がありますか?

+0

これは役に立ちます:https://msdn.microsoft.com/en-us/library/azure/mt600929.aspx – TheGameiswar

+0

はい、以前は見つかったが、まだクライアントに実装されていないようです。私はそれを書く必要があると思う;)ありがとう! –

答えて

1

2番目の場所を読むことを意味する場合、私はAzure ARMの管理がこれを行うのに役立つと思います。

public async Task<string> GetToken() 
     { 
      AuthenticationResult result = null; 
      string test; 
      AuthenticationContext authContext = new AuthenticationContext(adInfo.AuthUrl + adInfo.Telnant); 
      ClientCredential cc = new ClientCredential(adInfo.ClientId, adInfo.ClientSecret); 
      try 
      { 
       result = await authContext.AcquireTokenAsync(adInfo.Resource,cc);    
       test = result.AccessToken; 
       return test; 
      } 
      catch (AdalException ex) 
      { 
       return ex.Message; 
      } 
     } 

     public async Task GetSQLInfo() 
     { 
      string token = await GetToken(); 
      var sqlclient = new SqlManagementClient(new TokenCloudCredentials(adApplication.Subscription, token)); 
      var data = await sqlclient.Databases.GetAsync("jatestgroup", "jaserver", "jasql"); 
     } 

ここでは私です:[更新]

はここに私のテストコードがされ

enter image description here

を:私は私の地元でそれを試してみましたが、以下のように結果を取得していますadInfoとadApplicationに関するクラス:

public class AdInfo 
    { 
     [JsonProperty(PropertyName = "clientid")] 
     public string ClientId { get; set; } 
     [JsonProperty(PropertyName = "clientsecret")] 
     public string ClientSecret { get; set; } 
     [JsonProperty(PropertyName = "returnurl")] 
     public string ReturnUrl { get; set; } 
     [JsonProperty(PropertyName = "telnantid")] 
     public string Telnant { get; set; } 
     [JsonProperty(PropertyName = "authurl")] 
     public string AuthUrl { get; set; } 
     [JsonProperty(PropertyName = "resource")] 
     public string Resource { get; set; } 

    } 
    public class AdApplication 
    { 
     [JsonProperty(PropertyName = "ARMTemplate")] 
     public AdInfo Application { get; set; } 
     [JsonProperty(PropertyName = "subscription")] 
     public string Subscription { get; set; } 
    } 

マイJSONセッティング:

{ 
    "ARMTemplate": { 
    "clientid": "****", 
    "clientsecret": "****", 
    "returnurl": "http://localhost:20190", 
    "telnantid": "****", 
    "authurl": "https://login.microsoftonline.com/", 
    "resource": "https://management.core.windows.net/" 
    }, 
    "subscription": "***" 
} 

この問題は、認証が失敗したとより関連しているので。私のコードが助けにならない場合は、新しいスレッドを作成し、私たちのためにより多くの情報を提供することをお勧めします。

+0

あなたの例で使用したコードを共有できますか?それは 'SqlManagementClient'ですか? –

+0

私は 'TokenCloudCredentials'を使ってそれを使用することができました。しかし、それはデフォルトの二次的な場所を返しますが、データベース自体の場合は役割を返しません。 –

関連する問題