2

Azureに2つのアプリケーションと1つの仮想ディレクトリを備えたWebロールがあります。1アプリケーションはバックエンドであり、管理者はファイルをアップロードできます。ファイルは仮想ディレクトリ(両方のアプリケーションからアクセスされます)に保存されます。

新しいバージョンをAzureにデプロイするたびに、仮想ディレクトリにアップロードされたすべてのコンテンツが削除されます。これは私が望まないことです。

では、ユーザーが生成したファイルをすべて削除せずに、新しいバージョンを公開するにはどうすればよいでしょうか。

私はすでにWebDeployでアプリケーションを更新することができました。ただし、これは「メイン」アプリケーションでのみ可能であり、2番目のアプリケーション(仮想アプリケーションとして構成されている)では不可能です。

ありがとう

4

3 に答える 3

3

できません。Webロールは、展開時に再作成されます。また、ハードウェア障害時にも発生する可能性があります。インスタンスに障害が発生した場合、azureはシステムを再デプロイします。クリーンな仮想マシンを再デプロイしてから、アプリをその仮想マシンにデプロイします。Webロールに保持したいデータは絶対に保存しないでください。永続化するファイルを保存するには、BLOBストレージなどを使用する必要があります。

于 2013-03-02T18:49:30.080 に答える
2

仮想ディレクトリは、アップグレードごとに再作成される「アプリケーション」パーティションに保存されます。詳細については、こちらを参照してください。そのため、仮想ディレクトリ フォルダーは、アップグレード後も維持したいものを保存するのに適した場所ではありません。ところで、「アプリケーション」パーティションには 1 ギガバイトのスペースしかなく、その一部はアプリケーションのバイナリ コードを格納するために使用されるため、ある時点で「ディスクがいっぱい」の状況に陥る可能性があります。

キャッシュされた結果など、まれに犠牲になっても構わないデータを保存する場合は、インプレース アップグレードや再起動後も存続する「ローカル リソース」ディスクを使用できます。ただし、VM がクラッシュした場合に保存される保証はありません。そのようなレベルの保存のためには、たとえばブロブ ストレージなどの永続ストレージを使用する必要があります。

于 2013-03-04T07:37:50.633 に答える
1

仮想ディレクトリについて話し、Web デプロイを使用して通常の Azure パッケージ デプロイ メカニズムの外部でアプリケーションを更新しているため、アーキテクチャ/アプリケーションは、Web ロールよりも永続的な VM ロールに適しているように思えます。これらは、現時点ではプレビューでのみ Azure で利用できます。

http://www.windowsazure.com/en-us/home/scenarios/virtual-machines/

リサイクルしても存続する永続的なストレージを使用できます。ストレージは実際にはブロブ ストレージによって支えられていますが、PVM からは通常のディスクのように見えます。

于 2013-03-02T19:18:13.553 に答える