2014-07-22 23 views
85

Correggere i miei errori. Dalla mia lettura sull'argomento finora, mi sembra che sia Azure Blob Storage che File Service offrono la possibilità di memorizzare i file e le cartelle (capisco che i BLOB possono archiviare qualsiasi oggetto binario, ma qualsiasi serializzato il flusso binario è solo un file alla fine della giornata) in una struttura gerarchica che riproduce un file system.Servizio BLOB di archiviazione Azure vs. Servizio file

Solo le API per accedervi sono leggermente diverse in quanto il Servizio file consente di interrogare l'origine utilizzando le funzioni di I/O file Win32 oltre a utilizzare l'API REST.

Perché dovresti scegliere uno su un altro se si desidera che l'applicazione memorizzi alcuni file di proprietà degli utenti dell'applicazione?

+4

Hai letto questo post del blog da Azure squadra: http://blogs.msdn.com/b/windowsazurestorage/archive/2014 /05/12/introducing-microsoft-azure-file-service.aspx? Si prega di scorrere verso il basso nella sezione in cui spiega quando utilizzare il servizio. –

+2

Sì, ho letto quell'articolo prima di postare. Sono nelle prime fasi di pensare le cose e la mia comprensione non è ancora ben formata. Sono ancora confuso. Capisco tutto ciò che è scritto in tutti gli articoli che ho letto, ma sto cercando di capire che cosa è meglio usare se voglio memorizzare i file di proprietà dell'utente per un'applicazione che sto progettando. –

+0

Immagino che si riduca a quello che vuoi fare con questi file utente? Saranno in qualche modo trasmessi in streaming (tramite un browser Web, ecc.) O saranno elaborati ulteriormente? Se è precedente, lo storage blob ha senso. Se è quest'ultimo, allora il servizio file ha senso. –

risposta

71

Alcuni articoli per la vostra domanda:

  1. Non è possibile montare Azure Blob archiviazione come una condivisione nativo su una macchina virtuale.
  2. L'archiviazione BLOB di Azure non è gerarchica oltre i contenitori. Puoi aggiungere file con/o \ caratteri che sono interpretati come cartelle da molte app che leggono la memoria BLOB.
  3. Servizio file di Azure fornisce un'interfaccia di protocollo SMB a Azure Blob Storage che risolve il problema con (1).

Se si sta sviluppando una nuova applicazione, sfruttare l'API Azure nativa direttamente in Blob Storage.

Se si esegue il porting di un'applicazione esistente che deve condividere file, utilizzare il servizio file di Azure.

Si noti che ci sono alcune caratteristiche del protocollo SMB che Azure File Service doesn't support.

+0

Grazie mille, Simon. Alcune cose sulla tua risposta. Vedi, alla fine della giornata, voglio un risultato finale. Da quel punto di vista, ho postato questa domanda. Dal punto di vista del risultato finale, gli argomenti 1 e 3 del tuo elenco non sono pertinenti. Non sto affatto discutendo con te. :-) La tua risposta è estremamente utile. Sto solo cercando di dirti il ​​processo mentale che mi ha portato a fare questa domanda. E l'argomento # 2 è un non-problema in quanto presenta un problema e dice che non è un problema, però. Supponendo che volessi archiviare file di proprietà dell'utente, stavo pensando, perché preferirei uno rispetto all'altro? –

+0

Vedere i due punti dopo l'elenco numerato, che dovrebbe essere la vostra guida. –

+0

Grazie mille. –

20

alcune altre cose da considerare:

  • Prezzi: archiviazione Blob è molto più economico di archiviazione di file.
  • Portabilità: con lo storage BLOB se si decide di migrare a una piattaforma diff in futuro potrebbe essere necessario modificare il codice dell'app ma con Archiviazione file è possibile migrare l'app su qualsiasi altra piattaforma che supporti SMB (presupponendo che si stia utilizzando un file nativo API di sistema nella tua app)
+0

Il prezzo qui è un fattore enorme (circa una differenza 5x al momento), e vale la pena menzionare anche il limite di 5TB di archiviazione dei file. – TZHX

6

Il servizio file di Azure è destinato di più alla gestione interna dei file. Con interno intendo montare una directory su una VM nel cloud o in locale in modo che possa essere caricata nel proprio back-end (protocollo basato su SMB).

Per la condivisione di file con utenti finali (Web o app), probabilmente ha più senso utilizzare la memoria BLOB poiché semplifica il download tramite un URL e protegge il download tramite le firme di accesso condiviso.

questo post quote maggiori dettagli sul confronto (in basso): https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/

+0

Ciao Clemens Schotte, che cosa significa memoria blob consente di scaricare da un URL? Significa che l'archiviazione dei file non fornisce URL –

Problemi correlati