web-dev-qa-db-fra.com

Azure Blob Storage vs. Service de fichiers

S'il vous plaît, corrigez mes torts. D'après mes lectures sur le sujet jusqu'à présent, il me semble qu'Azure Blob Storage et le service de fichiers offrent la possibilité de stocker des fichiers et des dossiers (je comprends que les blobs peuvent stocker tout objet binaire, mais tout objet sérialisé. flux binaire est juste un fichier à la fin de la journée) dans une structure hiérarchique qui imite un système de fichiers.

Seules les API permettant d'y accéder diffèrent légèrement du fait que le service de fichiers vous permet d'interroger la source à l'aide de fonctions similaires aux E/S de fichier Win32, en plus de l'API REST.

Pourquoi voudriez-vous en choisir un si vous voulez que votre application stocke certains fichiers appartenant aux utilisateurs de votre application?

116
Water Cooler v2

Quelques éléments pour votre question:

  1. Vous ne pouvez pas monter Azure Blob Storage en tant que partage natif sur une machine virtuelle.
  2. Azure Blob Storage n'est pas hiérarchique au-delà des conteneurs. Vous pouvez ajouter des fichiers comportant\ou des caractères qui sont interprétés comme des dossiers par de nombreuses applications lisant le stockage d'objets blob.
  3. Le service de fichiers Azure fournit une interface de protocole SMB à Azure Blob Storage), qui résout le problème rencontré avec (1).

Si vous développez une nouvelle application, utilisez l'API Azure native directement dans Blob Storage.

Si vous portez une application existante devant partager des fichiers, utilisez le service de fichiers Azure.

Notez qu'il existe quelques SMB fonctionnalités de protocole) que le service de fichiers Azure ne prend pas en charge) .

97
Simon W

Quelques autres points à considérer:

  • Prix: Le stockage d'objets blob est beaucoup moins cher que le stockage de fichiers.
  • Portabilité: avec le stockage blob, si vous décidez de migrer vers une plate-forme diff ultérieurement, vous devrez peut-être modifier le code de votre application, mais avec le stockage de fichiers, vous pourrez migrer votre application vers toute autre plate-forme prenant en charge SMB ( en supposant que vous utilisez des API de système de fichiers natifs dans votre application)
32
Dharmendar Kumar 'DK'

Le service de fichiers Azure est davantage destiné à la gestion de fichiers interne. En interne, je veux dire monter un répertoire sur un VM dans le cloud ou sur site afin qu’il puisse être chargé dans votre back-end (protocole basé sur SMB).

Pour partager des fichiers avec des utilisateurs finaux (Web ou applications), il est probablement plus judicieux d'utiliser le stockage d'objets blob car cela simplifie le téléchargement via une URL et la sécurisation du téléchargement via des signatures d'accès partagé.

Cet article partage plus de détails sur la comparaison (en bas): https://blogs.msdn.Microsoft.com/windowsazurestorage/2014/05/12/introducing-Microsoft-Azure-file-service/ =

10
Clemens Schotte