Azure PowerShellも日進月歩な感じである意味時代の最先端(未発表機能が追加されてたり)をイッてるツールなわけですが今日はその小ネタを。
証明書が無いとかなんとかエラーがウザイ
%userprofile%\AppData\Roaming\Windows Azure Powershell フォルダにいろいろあるので、バッサリ消して初期化しちゃいましょう。うん。
Import-AzurePublishSettingsFile とか面倒くさいしウザイ
最近のバージョンでは Add-AzureAccount すればフェデレーション認証な感じでMSアカウントで認証して必要な権限をゲットできます。ほとんどのコマンドはこれだけで済むのでむっちゃ便利です。
Import-AzurePublishSettingsFile も便利なんですが、こいつに渡すファイルを Get-AzurePublishSettingsFile とかで取得するとその都度証明書作られたりウザイ。というわけでステステ。
※とはいえスクリプト内で実行する場合などは必要になるので、適宜ちゃんと作成・管理しましょう。
Import-AzurePublishSettingsFile 使わないと Add-AzureVhd でエラーになるんじゃ
clientCert cannot be null とか言うやつですね。わかります。なぜかAdd-AzureVhdだけ特殊な気が。。。
面倒くさいので New-AzureStorageContainerSASToken とかでSASを取得してアップロード先のURLにつけるといいですよ。
$sas = Get-AzureStorageContainer -Container vhds | New-AzureStorageContainerSASToken -Permission rwdl -ExpiryTime (Get-Date).AddDay(5) $dest = "https://~~/vhds/test.vhd" + $sas Add-AzureVhd -LocalFilePath $vhd -Destination $dest
こんな感じで。SAS便利だね☆
(5/9追記)SASの有効期間が短くてUpload中にエラーになったりするので、-ExpireTimeで長めの有効期限を渡しておきましょう。(例だと5日間)
はぁー、暇になりたい。