Hai mai considerato di rendere privato il tuo contenitore? Ciò impedirebbe alle persone di scaricare direttamente i BLOB. In questo modo hai il pieno controllo di chi può scaricare i file e per quanto tempo possono farlo.
Supponiamo che solo gli utenti registrati possano scaricare il file e si stia utilizzando ASP.NET MVC. Poi si potrebbe avere un'azione simile a questo:
[Authorize]
public ActionResult Download(string blobName)
{
CountDownload(blobName);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blob = container.GetBlobReference(blobname);
var sas = blob.GetSharedAccessSignature
(
new SharedAccessPolicy
{
Permissions = SharedAccessPermissions.Read,
SharedAccessStartTime = DateTime.Now.ToUniversalTime(),
SharedAccessExpiryTime = DateTime.Now.ToUniversalTime().AddHours(1)
}
);
return Content(blob.Uri.AbsoluteUri + sas);
}
Quello che fa è il seguente:
- L'attributo Autorizza fa in modo solo gli utenti che si registrano in grado di accedere a questa azione.
- si aumenta il conteggio dei download per quel blob
- si ottiene un riferimento del blob in base al nome
- si genera una firma che permette di scaricare il blob per 1 ora
- È restituire l'URL del blob con la firma (si potrebbe anche avere reindirizzare all'URL blob)
distribuendo l'URL con la firma attraverso l'applicazione si ha il pieno controllo e si può anche guardare in altri scenari come CAPTCHA, download a pagamento, avanzata autorizzazioni nell'applicazione, ...
fonte
2012-08-03 06:08:02
Se avete la BLOB pubblicamente disponibile (vale a dire, non astratto dietro un servizio) quindi la cosa più vicina che penso si otterrà è i log di memorizzazione metriche. Controlla http://blogs.msdn.com/b/windowsazurestorage/archive/2011/08/03/windows-azure-storage-metrics-using-metrics-to-track-storage-usage.aspx. Non sono sicuro che questo ti farà esattamente ciò che stai cercando. – MikeWo
ovviamente se ci fosse dietro un servizio allora puoi contarlo facilmente. A proposito, per un programma di installazione del software si potrebbe anche voler utilizzare il CDN rendendo l'esperienza migliore, ma il tuo lavoro più difficile (anche se puoi ancora utilizzare un servizio e il CDN). Sembra che questo sia in natura ora e un servizio non è praticabile in questa fase? –
@MikeWo - dovresti spostare il commento su una risposta. –