はじめに
Azure Storage にアクセスするアプリケーションを開発したとき、接続テストをするはずです。
以前まで公式サイトでは、Azure Storage Emulator を使ったテスト方法が紹介されていましたが、
最近、Azurite を使った方法も紹介されていますので、簡単に違いを紹介します。
Azure Storage 開発時の課題
Azure Storage との通信をテストしたいとき、検証用のAzure環境があれば、そちらを利用することも可能ですが、
ローカルの開発環境に制限してテストしたいことがあると思います。
このとき、Azure Storage Emulatorを利用すれば可能ですが、制限があります。
説明を口述しますね。
Azure Storage Emulator
"Azure ストレージ エミュレーターを使用した開発とテスト"に紹介されているように、ローカルに簡易的なAzure Storageサービスを起動することができます。
ただし、Localhostからしか利用できません。
これだと別ポートから起動したWebアプリからのアクセスができなかったり、Android(エミュレータ)やVMからのアクセスもできません。
Azurite
"Azure Storage の開発とテストに Azurite オープンソース エミュレーターを使用する (プレビュー)"に紹介されているAzuriteは、オプションを変更することでAzure Storage Emulatorの制限を解除できます。
以下のようにWebアプリやAndroid EmulatorやVM, 別のリモートホストからもアクセスが可能になります。
※Firewall等も確認ください
※固定IPでアクセスしてください
具体的には以下の起動オプションを変更します。
npm i azurite -g
cd c:\AzuriteDataDirectory\
azurite --blobHost 0.0.0.0
上記コマンドでAzurite起動後に、別PCから以下URLにアクセスしてみてください。
XMLが表示されれば成功です。
- 【IPアドレス】:192.168.128.107
- 【コンテナ】:test(認証無しアクセス許可)
http://192.168.128.107:10000/devstoreaccount1/test?restype=container&comp=list&maxresults=1000&delimiter=%2F