web-dev-qa-db-ja.com

Azure Webサイトのファイルシステムに書き込むことはできますか?

Azure Webサイトのファイルシステムに書き込むことはできますか?たとえば、Wordpress=ダッシュボードからプラグイン/テーマを更新またはインストールします。知っている限り、HerokuではAzure Webサイトはどうですか?

37
Ansd

確かに、Azure Websitesのファイルシステムに書き込むことは可能です。ただし、書き込み権限はアプリのルートフォルダーに制限されます。したがって、ASP.NETを使用する場合は、Server.MapPath("~/from_here_on")内のどこでも記述できます。つまり、アプリのルートフォルダ以下にあるファイルに対して読み取り/書き込み/削除操作を実行できることを意味します。 PHPを使用する場合、ルートフォルダーは$_SERVER['DOCUMENT_ROOT']環境変数。

また、Webアプリケーションにはこれ以上の特権は必要ありません。確かに、オペレーティングシステムのフォルダーに書き込むことはできません。

35
astaykov

書き込み中に誰かがcould not find a part of the path ...エラーに遭遇した場合の追加情報として:書き込み先のフォルダーが展開されていることを確認してください。私の場合、それは展開中にスキップされた空の一時ディレクトリでした。

5
Nico

代わりに、BLOBコンテナーを使用して、仮想マシンの再初期化またはアップグレードに関係なく永続化する必要がある永続的なコンテンツを保存することを提案します。

2

私が理解している限り、Azure Webロールのドライブに書き込むことができますが、問題はWebロールが複数のインスタンスを持つことができるため、接続しているノードにファイルを配置しても他のノードには配置されないことですまた、そのインスタンスがリサイクルされると、Webロールの元のイメージに戻り、ファイルが失われます。

ただし、少なくともこの記事に従って、Azure Webロールノードのインスタンス間でドライブを共有することは可能です。その後、この共有ドライブを指すWebサイトの下に仮想フォルダーをセットアップし、メディアストレージに使用できます。

http://blogs.msdn.com/b/windowsazurestorage/archive/2011/04/16/using-smb-to-share-a-windows-Azure-drive-among-multiple-role-instances。 aspx

私はまだ自分で試していませんが、その方法を探しているときにこの質問に出会いました。

1
Joe Audette

Azure Webアプリはより制限的になったと思いますが、 %TMP% (D:\local\Temp) に書き込むことができました

0
Daniel