Azure で VM の削除の順番によっては、ストレージに対するリースが残ったままになって消せなくなってしまう。 中に入っている VHD は How to break the locked lease of blob storage in Microsoft Azure (PowerShell) で消すことができる(これも大概変な動きするけど…)。
しかしながら、VHD を入れていた Storage Container のリースが解除されない。しかも当該のリースを break する API は SDK に入っていなさそうだった。
そこで、Azure SDK for Ruby をインストールしたマシンで、irb を使って以下のように対応した。
$ irb irb> require 'azure' irb> Azure.config.storage_account_name = "<<storage_account_name>>" irb> Azure.config.storage_access_key = "<<storage_access_key>>" irb> azure_blob_service = Azure::Blob::BlobService.new irb> headers = azure_blob_service.service_properties_headers irb> headers['x-ms-lease-action'] = 'break' irb> url = "https://<<storage_account_name>>.blob.core.windows.net/<<storage_container_name>>?comp=lease&restype=container" irb> r = azure_blob_service.call(:put, url, headers)
これで Storage Container も消せるはず。