Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

Windows Azure Service Management CmdLets その一

巷では「Windows Azure実践クラウド・プログラミング―for C#/Visual Basic/PHP」が発売され、Azure界隈が賑わっていますがいかがお過ごしでしょうか。
会社経由で入手しようと、邪なことを考えたら、10営業日かかりるといわれでちょっとがっくりぎみで、書評を載せる頃には世の中の流れから取り残されてしまうでしょう。


さて本題。上記のAzure本にも書かれているようですが、PowershellによるAzureの管理の話。最近自分でも使うようになったので、まとめなど。

設定方法などは、参考URLを参考にしていただくといて、すでに以下が出来ている人向けです。

  1. 証明書が作成してある。
  2. Windows Azure 管理ポータルに配置してある
  3. Azure Cmdletがインストールしてある

参考URL PowerShell で始める Windows Azure アプリケーション管理 http://www.microsoft.com/japan/powerpro/TF/column/st2_01_1.mspx

試しに、すべての、ComputeサービスのStaging/Productionの状況を確認するコマンドなど。
あまりPowershellに精通していないので、ちょっと汚いのですがやってることは、

  • Get-HostedServices ですべてのホストサービスを取得
  • HostサービスそれぞれのStaging/Productionの情報取得
  • デプロイされていたら情報を表示
$sub  = "サブスクリプションID"
$cert = Get-Item cert:currentuser\my\証明書の拇印

# すべてのホストサービスを取得し、Foreachでぐるぐる回す
Get-HostedServices -SubscriptionId $sub -Certificate $cert | `

    foreach {
    
    Write-Host "**" $_.ServiceName  "**"

    foreach($slot in ("Staging", "Production")) {
        echo "$slot"
        # デプロイ情報の取得
        $dep = $_ | Get-Deployment -Slot $slot
        if($dep.Status -eq $null) 
        {
            Write-Host -BackgroundColor Magenta  "No Deployments"
        }
        else
        {
            Write-Host -BackgroundColor Red $dep.Status ":" $dep.Label  $dep.Url.AbsoluteUri
        }
    }
}

適当にファイルを保存して、実行した結果。ちょっと見苦しいけれど、貼っておきます。