¿Alguna vez pensó en hacer su contenedor privado? Esto evitaría que las personas descarguen blobs directamente. Al hacer esto, usted tiene el control total de quién puede descargar los archivos y durante cuánto tiempo pueden hacerlo.
Supongamos que solo los usuarios registrados pueden descargar el archivo y están utilizando ASP.NET MVC. Posteriormente, se podría tener una acción similar a ésta:
[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);
}
Lo que esto hace es la siguiente:
- El atributo Autorizar asegura que sólo los usuarios que han iniciado sesión pueden acceder a esta acción.
- se aumenta el número de descargas para esa burbuja
- Usted recibe una referencia de la burbuja basada en el nombre
- Se genera una firma que permite la descarga de la burbuja durante 1 hora
- que devuelva el url de la burbuja con la firma (que también podría tener que redirigir a la URL blob)
mediante la entrega de la URL con la firma a través de la aplicación que tiene el control total e incluso se puede buscar en otros escenarios como de CAPTCHA, descargas de pago, avanzada permisos en su aplicación, ...
Si tiene el BLOB disponible públicamente (es decir, no se abstrae detrás de un servicio), entonces lo más cercano que creo que obtendrá son los registros de mediciones de almacenamiento. Consulte http://blogs.msdn.com/b/windowsazurestorage/archive/2011/08/03/windows-azure-storage-metrics-using-metrics-to-track-storage-usage.aspx. Sin embargo, no estoy seguro de que esto te brinde exactamente lo que estás buscando. – MikeWo
por supuesto, si estuviera detrás de un servicio, entonces podría contarlo fácilmente. Por cierto, para un instalador de software es posible que también desee utilizar el CDN mejorando la experiencia, pero su trabajo es más difícil (aunque aún puede usar un servicio y el CDN). Suena como que ahora está en la naturaleza, ¿y un servicio no es viable en esta etapa? –
@MikeWo - debe mover su comentario a una respuesta. –