Si bien el funcionamiento es similar a la v11, se utiliza la librería Azure.Storage.Blobs de código abierto en lugar del paquete WindowsAzure.Storage:
AccountSasBuilder sasBuilder = new AccountSasBuilder() { Services = AccountSasServices.Blobs | AccountSasServices.Files, ResourceTypes = AccountSasResourceTypes.All, ExpiresOn = DateTimeOffset.UtcNow.AddHours(1), Protocol = SasProtocol.Https }; sasBuilder.SetPermissions(AccountSasPermissions.Read); // | AccountSasPermissions.Write StorageSharedKeyCredential key = new StorageSharedKeyCredential("MiNombreDeCuenta","MiClaveDeCuenta")); // Generar a partir de la clave de acceso, el token SAS: string sasToken = sasBuilder.ToSasQueryParameters(key).ToString(); // Generar la dirección URL completa incluyendo el token SAS: UriBuilder fullUri = new UriBuilder() { Scheme = "https", Host = string.Format("{0}.blob.core.windows.net", CloudConfigurationManager.GetSetting("accountName")), Path = string.Format("{0}/{1}", nombreContainer, nombreArchivo), Query = sasToken }; Response.Redirect(fullUri.Uri)
De este modo mantenemos de forma más segura el acceso a ficheros dentro de containers con control de tiempo de expiración y permisos de usuario.