これはすでに回答されていることは知っていますが、この問題に対する簡単な解決策はまだ投稿されていません。これは、LAN 全体で PC で実行されている Azure Storage Emulator (v4.3) と Mac を通信させるために行ったことです。
執筆時点では、Azure Storage Emulator の v4.3 を使用して Windows 10 バージョン 1511 を実行しています。
- Azure ストレージ エミュレーターがオフになっていることを確認します。これを行うには、Azure ストレージ エミュレーターのコマンド プロンプトを開きます。
Azure Storage Emulator
スタートメニューに入力することで見つけることができます。開いたら、と入力しAzureStorageEmulator stop
ます。
- Azure ストレージ エミュレーターを実行しているコンピューターの IP アドレスを取得します。
ipconfig
すでに開いているコマンド プロンプトに入力します。IPV4 アドレスを見つけます - 次のようになります。192.168.1.xxx
- にあるファイルを開きます。
C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe.config
- セクションで、各サービスを次のように編集し
StorageEmulatorConfig
ます。明らかに、「xxx.xxx.xxx.xxx」を実際のIPアドレスに置き換えます...ただし、ポートは同じにしてください!!!
- 次に、ファイアウォールの設定に進みます。
StorageEmulatorConfig
上記のセクションにリストされている 3 つのポートへのコンピューターの IP アドレスへのインバウンド接続を許可する必要があります。[コントロール パネル] -> [システムとセキュリティ] -> [Windows ファイアウォール] -> [詳細設定] -> [受信の規則]New Rule...
で、画面の右側にある をクリックします。ウィザードを実行して、新しいルールを設定します。以下に何をすべきかを概説します。
ルールの種類: 選択Custom
プログラム:Customize...
次に選択Apply to services only
プロトコルとポート: を に設定し、Protocol type
をTCP
に設定し
Remote port
てSpecific Ports
、入力ボックスに と入力します
10000-10002
。StorageEmulatorConfig
これにより、セクションで指定されたポートの範囲がこのルールに追加され、
それらのポートを介した着信接続が許可されます。
スコープ: このセクションはスキップして、簡単にするためにすべての IP アドレスに適用します。
アクション: 接続を許可する
Profile : 実行している接続プロファイルに応じて、適切なものを選択する必要があります。私の場合、私のコンピュータは家の LAN に接続されていたので、プライベート
ネットワークに接続されていました。私は選択を解除Domain
し、Public
. 同じことをすることをお勧めします。
名前: Azure ストレージ エミュレーター
フィニッシュを押して完了です!...その部分で...
管理者特権のコマンド プロンプトを開き、次のコマンドを入力します (注: xxx.xxx.xxx.xxx を IP アドレスに置き換えてください!!!)。
netsh http add urlacl url=http://xxx.xxx.xxx.xxx:10000/ user=everyone
netsh http add urlacl url=http://xxx.xxx.xxx.xxx:10001/ user=everyone
netsh http add urlacl url=http://xxx.xxx.xxx.xxx:10002/ user=everyone
Azure ストレージ エミュレーターに接続しようとしているデバイスでブラウザーを開き、次の URL へのアクセスを試みます。
http://xxx.xxx.xxx.xxx:10002/
http://xxx.xxx.xxx.xxx:10002/
http://xxx.xxx.xxx.xxx:10002/
応答が返ってきた場合は、次のようになります。
InvalidUri要求された URI は、サーバー上のリソースを表していません。
それならあなたは金色です...そうでない場合は、コメントを投稿してください。応答を更新します。
画像にアクセスするための URL を生成しているプロジェクトの .config ファイルで接続文字列を更新する必要があることに注意することが重要です (それを行っていると仮定します)。開発接続文字列のショートカットは使用できなくなりました。次のように更新する必要があります (xxx.xxx.xxx.xxx を上記の IP アドレスに置き換えます。
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint= http://xxx.xxx.xxx.xxx:10000/devstoreaccount1;TableEndpoint.xxx.xxx.http : // 10002/devstoreaccount1;QueueEndpoint=http://xxx.xxx.xxx.xxx:10001/devstoreaccount1 ;
これが AppSettings セクションにあり、\n でうまくフォーマットすると、文字列が壊れて、ストレージ コンポーネントはそれを有効な接続文字列として認識しません。だから、それを1つの長い厄介な文字列にしておいてください。