【问题标题】:Entity Group Transactions for Azure BLOB?Azure BLOB 的实体组事务?
【发布时间】:2012-06-03 01:13:23
【问题描述】:

假设我需要在单击按钮后从 Azure BLOB 检索 20 个缩略图图像。我读过 blob 的访问方式是这样的 http://<storage account>.blob.core.windows.net/<container>/<blob>

单个 GetBlob() 请求按 1 笔交易收费。这是否意味着获得 20 张图片至少需要 20 次交易?

有没有办法发送批处理请求以检索这些图像并按 1 次交易计费?

我读过有关实体组事务的信息,但在我看来它们仅适用于 Azure 表。

【问题讨论】:

    标签: azure azure-storage azure-table-storage azure-blob-storage


    【解决方案1】:

    没有什么类似于带有 blob 的实体组事务。每个都被单独访问,至少燃烧一个事务(取决于 blob 大小)。

    按每 10,000100,000 笔交易一分钱计算,这可能不是主要的成本因素,除非您经常下载 blob。在这种情况下,可能值得考虑使用某种类型的缓存,以防止针对 Blob 存储的过度活动。

    另一种解决方法(hack?):如果您总是抓取一组相关的 blob,则可以将相关的集合存储在一个 zip 文件中的单个 blob 中。并不是说我赞成这一点,但如果你需要保存事务,至少它是一个选项(除了缓存)。

    查看this MSDN article,它描述了存储以及分区如何与 blob 和表相关(向下滚动到 Partitions 部分)。适合您的相关信息:每个 blob 都在其自己的分区中。使用表存储,您可以对单个分区内的实体执行原子操作(跨多个分区没有原子操作)。这就是为什么您看不到跨多个 blob 的原子操作的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-29
      • 2022-01-12
      • 2012-09-30
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      相关资源
      最近更新 更多