8

Azureでは、ワーカーロールがアクセスする必要のある物理ファイルをどこに保存する必要がありますか?

私の場合、通常、これらの特定のファイルをWebロールのApp_Dataフォルダーに保存しますが、ワーカーロールがそのフォルダーにアクセスできるとは思いません。

4

4 に答える 4

11

ファイルを Windows Azure ストレージ (ファイル ストレージには BLOB が適しています) に配置すると、Web ロールまたは Worker ロールのいずれのロール インスタンスでもファイルにアクセスできます。また、BLOB ストレージは耐久性があり、データ センター内でトリプル レプリケート (および別のデータ センターに geo レプリケート) されます。

ワーカー ロール インスタンスが Web ロール インスタンス (または別のワーカー ロールのインスタンス) 内のフォルダーにアクセスできないことについては、そのとおりです。実際、同じ役割の複数のインスタンスが互いのファイル システムにアクセスすることはできません (役割は単なる Windows 2012 Server であり、その役割の各インスタンスは独自のローカル ディスクを持つ独自の VM で実行されることに注意してください)。

2014年7月5日編集この回答は少し古くなっています。Azure は、ファイル サービスを提供するようになりました。これは、ブロブ ストレージによってサポートされる SMB 共有を提供します。これは、ファイル システムを使用する必要があり、BLOB から直接読み書きするように変更できない従来のアプリケーションでの作業が容易になる傾向があります。詳細については、こちらを参照してください。

于 2012-04-16T10:55:50.703 に答える
3

データはインスタンスに永続化されないため、ファイル (およびその他のデータ) を保存できる分散ストレージが必要になります。これは、Windows Azure Blob Storage を使用して行うことができます (これは、ファイルを SQL Azure に保存するのに比べて非常に安価です)。

于 2012-04-16T10:56:07.393 に答える
3

Azure ストレージは適切なオプションです。ローカル ストレージ リソースの使用も確認できます。

http://msdn.microsoft.com/en-us/library/windowsazure/ee758708.aspx

ローカル ストレージ リソースは、ロールのインスタンスが実行されている仮想マシンのファイル システムで予約されているディレクトリです。インスタンスで実行されているコードは、ファイルへの書き込みまたはファイルからの読み取りが必要なときに、ローカル ストレージ リソースに書き込むことができます。たとえば、ローカル ストレージ リソースを使用して、サービスが Windows Azure で実行されている間に再度アクセスする必要があるデータをキャッシュできます。

于 2012-04-16T15:38:00.783 に答える
2

保存しているデータが機密性の高いものである場合は、BLOB コンテナーで何らかの保護スキームを使用していることを確認し、BLOB データを誰でも閲覧できる公開アクセス リンクとして保存しないでください。最善の策は、SaS ( Shared Access Signature ) を使用して、保存されている Azure BLOB データに安全にアクセスすることです。データが機密でない場合 - これは必須ではありません。

Azure でのBLOB とコンテナーの保護に関する MSDN リファレンスをさらに参照してください。

于 2012-04-16T13:03:27.093 に答える