使用 Azure 托管动态图像的最佳方式
Best Way to host dynamic image with Azure
我在一个需要动态托管图像的网站上工作。我的目的是托管完整 URL 的图像。
我试过 CDN,但后来发现它有一个限制,即图片只能在上传 15 分钟后可用。
其他选项是 Blob 存储,当我阅读 document 时它说 "Block blobs" 最适合图像和媒体内容。因此,我正在尝试使用它。
所以,我有以下问题:
- 为了满足此类要求,在 Azure 上托管图像的最佳方式是什么?
- 如果我使用 Blob 存储,那么我怎样才能获得完整的 URL 以便我可以 URL 在我的产品中加载图像?
确实没有最好 的图像存储方式。有些人将它们存储在 blob 存储中(如您所引用的),有些则使用数据库引擎......但是,由于您特别询问了如何与 blob 存储和 URI 进行交互:
所有 blob 都由 uri 引用:http(s)://storagename.blob.core.windows.net/containername/blobname
您可以将每个 blob 设置为私有或 public(无论是在 blob 还是容器级别),然后 return URI 到您的 user/webpage(如果 public ) 或生成共享访问策略或共享访问签名以临时授予对私有 blob 的访问权限(我将把它留作练习供您查找)。
根据需要创建容器和 blob 完全取决于您。稍后如何找到 blob 也取决于您,因此您需要考虑如何存储它们的名称或 URI(例如,在某个数据库 table 中)。您始终可以遍历容器以搜索给定的 blob,但这与直接检索相比非常耗时(同样,假设您已将 URI 作为元数据存储在数据库中的某处)。
我在一个需要动态托管图像的网站上工作。我的目的是托管完整 URL 的图像。
我试过 CDN,但后来发现它有一个限制,即图片只能在上传 15 分钟后可用。
其他选项是 Blob 存储,当我阅读 document 时它说 "Block blobs" 最适合图像和媒体内容。因此,我正在尝试使用它。
所以,我有以下问题:
- 为了满足此类要求,在 Azure 上托管图像的最佳方式是什么?
- 如果我使用 Blob 存储,那么我怎样才能获得完整的 URL 以便我可以 URL 在我的产品中加载图像?
确实没有最好 的图像存储方式。有些人将它们存储在 blob 存储中(如您所引用的),有些则使用数据库引擎......但是,由于您特别询问了如何与 blob 存储和 URI 进行交互:
所有 blob 都由 uri 引用:http(s)://storagename.blob.core.windows.net/containername/blobname
您可以将每个 blob 设置为私有或 public(无论是在 blob 还是容器级别),然后 return URI 到您的 user/webpage(如果 public ) 或生成共享访问策略或共享访问签名以临时授予对私有 blob 的访问权限(我将把它留作练习供您查找)。
根据需要创建容器和 blob 完全取决于您。稍后如何找到 blob 也取决于您,因此您需要考虑如何存储它们的名称或 URI(例如,在某个数据库 table 中)。您始终可以遍历容器以搜索给定的 blob,但这与直接检索相比非常耗时(同样,假设您已将 URI 作为元数据存储在数据库中的某处)。