web-dev-qa-db-fra.com

Puis-je écrire dans un système de fichiers sur le site Web Azure?

Puis-je écrire sur le système de fichiers sur le site Web Azure? par exemple la mise à jour ou l'installation de plugins/thèmes dans Wordpress à partir du tableau de bord. AFAIK, ce n'est pas possible sur Heroku alors qu'en est-il des sites Web Azure?

37
Ansd

Il est sûrement possible d'écrire sur le système de fichiers des sites Web Azure. Cependant, vos autorisations d'écriture sont limitées au dossier racine de votre application. Donc, si vous utilisez ASP.NET, vous pourrez écrire n'importe où dans la Server.MapPath("~/from_here_on"). Cela signifie que vous pourrez effectuer des opérations de lecture/écriture/suppression sur les fichiers qui se trouvent dans le dossier racine de votre application et ci-dessous. Si vous utilisez PHP, le dossier racine peut être obtenu à partir de $_SERVER['DOCUMENT_ROOT'] variable d'environnement.

Et une application Web n'aura pas besoin de plus de privilèges. Pour sûr ne sera pas en mesure d'écrire sur les dossiers du système d'exploitation.

35
astaykov

Tout comme une information supplémentaire si quelqu'un rencontre un could not find a part of the path ... erreur lors de l'écriture: assurez-vous que le dossier dans lequel vous écrivez est déployé. Dans mon cas, c'était un répertoire temporaire vide qui a été ignoré lors du déploiement.

5
Nico

Je propose d'utiliser un conteneur d'objets blob à la place pour stocker du contenu permanent qui doit être conservé indépendamment de la réinitialisation ou des mises à niveau des machines virtuelles.

2
Konstantin Isaev

Pour autant que je comprends, vous pouvez écrire sur le lecteur sur un rôle Web Azure, mais le problème est qu'un rôle Web peut avoir plusieurs instances, donc placer un fichier sur le nœud que vous connectez ne le place pas sur les autres nœuds et lorsque cette instance est recyclée, elle revient à l'image d'origine du rôle Web, vous perdrez donc le fichier.

Cependant, il est possible de partager un lecteur entre des instances de nœuds de rôle Web Azure au moins conformément à cet article, puis vous pouvez configurer un dossier virtuel sous le site Web qui pointe vers ce lecteur partagé et l'utiliser pour le stockage multimédia.

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

Je ne l'ai pas encore essayé moi-même mais suis tombé sur cette question en cherchant comment le faire.

1
Joe Audette

Je pense que les applications web Azure sont devenues beaucoup plus restrictives, mais j'ai pu écrire dans %TMP% (D:\local\Temp)

0
Daniel