引き続き、以下の流れから診断機能の話。
診断機能を外部から弄くる方法はいくつかあるのですが、とりあえずプログラムで現状の設定を確認する方法など。BLOBをのぞけば設定情報が格納されているのです、それはさておき。また、Powershell Cmdletなどを使えばプログラムを書く必要もなかったり。
static void Main(string[] args) { var creds = new StorageCredentialsAccountAndKey("storage", "key"); var account = new CloudStorageAccount(creds, true); var deploymentId = "0fa92c89d0e14f6da911730dde20a8a7"; var diagManager = new DeploymentDiagnosticManager(account, deploymentId); foreach (var roleName in diagManager.GetRoleNames()) { Console.WriteLine(roleName); foreach(var instanceId in diagManager.GetRoleInstanceIdsForRole(roleName)) { Console.WriteLine(instanceId); var instanceDiagnosticManager = diagManager.GetRoleInstanceDiagnosticManager(roleName, instanceId); var config = instanceDiagnosticManager.GetCurrentConfiguration(); Console.WriteLine(config.Directories.ScheduledTransferPeriod); foreach (var d in config.Directories.DataSources) { Console.WriteLine(d.Path); } } } Console.ReadLine(); }
上記プログラムを実行すると、転送元のディレクトリと転送間隔が表示されます。設定はインスタンス毎に持ってます。