ライダーと一緒にDockerでAzuriteを走らせて、Azure記憶データを解決にローカルにしておいてください


このブログのポストでは、どのように使用できるかを見るでしょうAzurite , オープンソースのAzureストレージAPI互換サーバー(エミュレータ)、docker、およびどのようにJetBrains Rider . Azuriteを使用してazureのストレージデータをローカルに解決することができます.

なぜazure記憶エミュレータの上でazuriteを使うか?


私が2008年にAzureバックで遊び始めた時から、私はAzure Storage Emulator ローカルストレージエミュレータを開発する必要があります.これは、Azure Blobおよび/またはキューを使用するアプリケーションをテストするためのローカル環境を提供します.
Azure Storage Implatorを引退する時が来ました.Azurite . これには様々な理由があります.
  • Azuriteは新しいストレージAPIをサポートしています.
  • これは、Dockerコンテナとして実行することができます.
  • 我々が取り組んでいる解決策に対して何かにボリュームパスを設定することによって、我々はblobsとキューを保つことができます.異なる解決?異なるパス!ブロックとキューにアズライイトのソリューションに関連する.
  • アズライトの設置


    次のコマンドを実行することで、Dockerを使用してazuiteを実行できます.
    docker run -p 10000:10000 -p 10001:10001 mcr.microsoft.com/azure-storage/azurite
    
    
    これは mcr.microsoft.com/azure-storage/azurite イメージ、露出ポート10000 ( blob )および10001 (キュー).
    Dockerコンテナの中で、Azite/data BLOBとキューメッセージを格納するフォルダ.これは、我々がマップできることを意味します/data 私たちのホストマシンのフォルダに.ときに別のプロジェクトやソリューションに取り組んで、これは素晴らしいです!すべてのソリューションについては、別のパスをマップすることができますし、その解決に関連するBlobsとキューをアズライイトで保存します.

    ライダーにおけるAzurite Run構成の設定


    ライダーでは、タイプのDeckerイメージの新しいランコンフィギュレーションを作成できます.mcr.microsoft.com/azure-storage/azurite . 必要に応じて、私たちはazurite ここに.
    また、ポートのバインドを指定する必要があります10000 and 10001 ).
    Azuriteデータをローカルで保存したいので、バインドマウントも作成できます.下のスクリーンショットでは、私はD:\Projects\Git\NuGetTypeSearch\.idea\azurite to /data コンテナ内.

    注意:D:\Projects\Git\NuGetTypeSearch\.idea\azurite パスが追加されました..gitignore BLOB/Queueメッセージをgitにコミットしないようにする.
    このラン設定が作成されると、選択して実行できます.これは、ツールバーから行うことができますが、私は個人的にCtrl + Alt + Shift + Rのキーボードショートカットを使用して、すぐに実行する設定を選択することが可能です︵Enter︶またはデバッグ(Shift、Enter)を実行します.

    一度実行すると、サービスツールウィンドウからAzuriteコンテナーの出力を見ることができますが、通常、私たちはそれを必要としません.
    次のAzure関数ホストを起動したいですか?それぞれのラン設定を使用できます.そして、別のソリューションに切り替えると、現在のコンテナを停止し、他のソリューションで新たに起動できます.