Storage Container を削除できない

Azure で VM の削除の順番によっては、ストレージに対するリースが残ったままになって消せなくなってしまう。 中に入っている VHDHow to break the locked lease of blob storage in Microsoft Azure (PowerShell) で消すことができる(これも大概変な動きするけど…)。

しかしながら、VHD を入れていた Storage Container のリースが解除されない。しかも当該のリースを break する APISDK に入っていなさそうだった。

そこで、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 も消せるはず。