每个 Blob SAS 的 Azure CDN

标签 azure cdn

据我所知,在 Azure 存储中,我们可以将存储的访问权限委托(delegate)给在容器基础上使用 SAS 的单个人。

我需要基于每个 BLOB 委派访问权限以防止热链接。

我们正在使用 Asp.Net MVC。抱歉我的英语:)

编辑:新的 Azure 用户如何创建 CDN?

最佳答案

因此您可以在 blob 上创建 SAS。该方法类似于在 Blob 容器上创建 SAS 的方式。由于您使用的是 ASP.Net MVC,我假设您希望使用 .Net 存储客户端 API 在 blob 上创建 SAS。要在 blob 上创建 SAS,只需调用 GetSharedAccessSignature您创建的 blob 对象上的方法。

例如,下面的代码将为您提供一个 SAS URL,用户有权在其中下载 blob:

var sas = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
    {
        Permissions = SharedAccessBlobPermissions.Read,
        SharedAccessStartTime = DateTime.UtcNow.AddMinutes(-5),
        SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(15),
    });
    return string.Format(CultureInfo.InvariantCulture, "{0}{1}", blob.Uri, sas);

我不久前写了一篇博文,更详细地描述了 Blob 和容器上的 SAS 功能:http://gauravmantri.com/2013/02/13/revisiting-windows-azure-shared-access-signature/

关于您关于 CDN 的问题,我相信当新门户发布时,创建 DSN 节点的功能已从 Windows Azure 门户中删除。我想您需要等待该功能在门户上再次出现。

关于每个 Blob SAS 的 Azure CDN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21348458/

相关文章:

c# - 尝试将 Azure 文件复制到 Azure Blob 时如何使用 Azure SAS

c# - 从 HTML 网页 (C#) 将文件上传到 Azure Blob?

css - Bootstrap-sass Gem 对比内容分发网络

jquery - CDN jQuery 具有很多不必要的功能,还是自己的 FTP jQuery 功能较少?

postgresql - 无法连接到 azure postgresql - 用户名应采用 <用户名@主机名> 格式

c# - 无法使用 ShareDirectoryClient 在 azure 中移动目录

Azure 数据工厂管道

asp.net-mvc-4 - 捆绑从 CDN 提供的多个 CSS?

jquery - 当热链接到 jQuery 时,应该链接到 Google 还是 jQuery 站点?

html - cdn 文件的链接不适用于 html