Archiviazione BLOB di Azure e servizio file [chiuso]


130

Per favore, correggi i miei errori. Dalla mia lettura sull'argomento finora, mi sembra che sia l'archiviazione BLOB di Azure sia il servizio file offrano la possibilità di archiviare file e 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 imita un file system.

Solo l'API per accedervi è leggermente diversa in quanto il servizio file consente di interrogare l'origine utilizzando funzioni simili a I / O di file Win32 e l'utilizzo dell'API REST.

Perché sceglieresti uno sopra l'altro se desideri che la tua applicazione memorizzi alcuni file di proprietà degli utenti della tua applicazione?


6
Hai letto questo post del blog del team di archiviazione di Azure: blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/… ? Scorri verso il basso fino alla sezione in cui spiega quando utilizzare quale servizio.
Interruzione del contributo

3
Sì, ho letto l'articolo prima di pubblicare. Sono nelle primissime fasi di riflessione 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 quale sia il migliore da usare se voglio archiviare file di proprietà dell'utente per un'applicazione che sto progettando.
Water Cooler v2,

Immagino che si riduce a quello che vuoi fare con questi file utente? Verranno in qualche modo trasmessi in streaming indietro (tramite un browser Web ecc.) O verranno elaborati ulteriormente? Se è precedente, l'archiviazione BLOB ha senso. Se è quest'ultimo, allora il servizio file ha senso.
Interruzione del contributo

1
La cosa è: voglio consentire all'utente di caricare e scaricare i propri file e condividerne alcuni con altri nel suo gruppo di contatti (affinché possano solo scaricare / leggere). Potrei usare le firme di accesso condiviso (SAS) con l'archiviazione BLOB per farlo, ma ciò non si occuperebbe del mio requisito di "condivisione". Stavo propendendo una soluzione in cui la mia app / servizio eseguisse tutta l'autenticazione e non esponesse all'utente la risorsa di archiviazione effettiva. In quel contesto, per me, sia il servizio file che l'archiviazione BLOB fanno la stessa cosa. Nessuno mi offre più conforto dell'altro.
Water Cooler v2,

@ WaterCoolerv2 Puoi aiutarmi a scegliere tra l'archiviazione di file azzurro e l'archiviazione
BLOB

Risposte:


110

Alcuni elementi per la tua domanda:

  1. Non è possibile montare l'archiviazione BLOB di Azure come condivisione nativa in una macchina virtuale.
  2. L'archiviazione BLOB di Azure non è gerarchica oltre i contenitori. È possibile aggiungere file contenenti / o \ caratteri che vengono interpretati come cartelle da molte app che leggono l'archiviazione BLOB.
  3. Il servizio file di Azure fornisce un'interfaccia di protocollo SMB all'archivio BLOB di Azure che risolve il problema con (1).

Se si sta sviluppando una nuova applicazione, utilizzare l'API di Azure nativa direttamente nell'archivio BLOB.

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

Si noti che ci sono alcune funzionalità del protocollo SMB che il servizio file di Azure non supporta .


1
Grazie mille, Simone. Alcune cose sulla tua risposta. Vedi, alla fine della giornata, voglio un risultato finale. Da quel punto di vista, ho pubblicato questa domanda. Dal punto di vista del risultato finale, gli argomenti n. 1 e n. 3 nell'elenco non sono pertinenti. Non sto affatto litigando con te. :-) La tua risposta è estremamente utile. Sto solo cercando di dirti il ​​processo di pensiero che mi ha portato a porre questa domanda. E l'argomento n. 2 non è un problema in quanto presenta un problema e dice che non è un problema, però. Supponendo di voler archiviare file di proprietà dell'utente, stavo pensando, perché dovrei preferire uno rispetto all'altro?
Water Cooler v2,

Vedi i due punti dopo l'elenco numerato: quella dovrebbe essere la tua guida.
Simon W,

1
@SimonW: i due punti dopo la guida sono indicati come "il modo di farlo". Tuttavia, non sono assoluti. Sono più simili a suggerimenti, in quello scenario. In alcuni casi non si vorrebbe usare direttamente l'API di Azure, anche con una nuova app. Allo stesso modo, ci sono casi in cui potresti voler rielaborare le app esistenti per usare l'API di Azure.
David Makogon,

C'è qualche differenza di prestazioni IOPS tra di loro?
LaPuyaLoca,

@SimonW - puoi approfondire il punto 3 sopra? È un modo per montare un BLOB come condivisione file SBM o accedervi in ​​qualche modo come "disco"?
Neil Weicher,

38

Alcune altre cose da considerare:

  • Prezzi: l'archiviazione BLOB è molto più economica dell'archiviazione dei file.
  • Portabilità: con l'archiviazione BLOB se in futuro si decide di migrare su una piattaforma diff, potrebbe essere necessario modificare il codice dell'app, ma con Archiviazione file è possibile migrare l'app su qualsiasi altra piattaforma che supporti SMB (supponendo che si stiano utilizzando API di file system native in la tua app)

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

Vecchio post, ma lo leggo per la prima volta oggi. Esiste un limite di 5 TB per impostazione predefinita sul livello di prezzo standard, ma può essere modificato tramite un passaggio a un limite di 100 TB. Nota * L'abilitazione di condivisioni di file di grandi dimensioni in un account è un processo irreversibile in un account di Archiviazione di Azure. docs.microsoft.com/azure/storage/files/…
Ruwd

10

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

Per la condivisione di file con utenti finali (Web o app), probabilmente ha più senso utilizzare l'archiviazione BLOB in quanto semplifica il download tramite un URL e la protezione del download tramite le firme di accesso condiviso.

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


Ciao Clemens Schotte, cosa si intende per archiviazione BLOB consente di scaricare tramite un url Vuoi dire che l'archiviazione dei file non fornisce URL
Heemanshu Bhalla,

1
Alcune cose sono cambiate da questi post, ma il servizio file supporta il download tramite un URL e altre API REST ( docs.microsoft.com/en-us/azure/storage/common/… ). Inoltre, la sicurezza sembra essere a livello di account di archiviazione, quindi dovrebbe essere molto simile tra BLOB e servizio file ( docs.microsoft.com/en-us/azure/storage/common/… ).
KJ,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.