Azure BLOB的实体组事务?

时间:2012-05-28 17:43:47

标签: azure azure-storage azure-table-storage azure-storage-blobs

假设我需要在单击按钮后从Azure BLOB中检索20个缩略图图像。我已经读过像http://<storage account>.blob.core.windows.net/<container>/<blob>

那样访问blob

单个GetBlob()请求在1个事务处收费。这是说要获得20张图片至少要花费20笔交易吗?

有没有办法发送批量请求,以便检索这些图像,并在1次交易中结算?

我已经阅读了有关实体群组交易的信息,但它听起来只适用于Azure Table。

1 个答案:

答案 0 :(得分:2)

与blob的实体组交易没什么相似之处。每个都是单独访问,至少刻录一个事务(取决于blob大小)。

每次 10,000 100,000次交易时,这可能不是主要的成本因素,除非您不断下载blob。在这种情况下,可能值得考虑某种类型的缓存,以防止对Blob存储的过度活动。

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

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