假设单击按钮后我需要从 Azure BLOB 检索 20 个缩略图。我读过 blob 是这样访问的http://<storage account>.blob.core.windows.net/<container>/<blob>
单个 GetBlob() 请求按 1 笔交易收费。这是否是说获得 20 张图像至少需要 20 次交易?
有没有办法发送批处理请求,以便检索这些图像并按 1 笔交易计费?
我读过有关实体组事务的信息,但在我看来它们仅适用于 Azure 表。
假设单击按钮后我需要从 Azure BLOB 检索 20 个缩略图。我读过 blob 是这样访问的http://<storage account>.blob.core.windows.net/<container>/<blob>
单个 GetBlob() 请求按 1 笔交易收费。这是否是说获得 20 张图像至少需要 20 次交易?
有没有办法发送批处理请求,以便检索这些图像并按 1 笔交易计费?
我读过有关实体组事务的信息,但在我看来它们仅适用于 Azure 表。
没有什么类似于带有 blob 的实体组事务。每个都单独访问,至少燃烧一个事务(取决于 blob 大小)。
以每10,000 100,000 笔交易一分钱计算,这可能不是主要的成本因素,除非您经常下载 blob。在这种情况下,可能值得考虑某种类型的缓存,以防止针对 Blob 存储的过度活动。
另一种解决方法(hack?):如果您总是抓取一组相关的 blob,您可以将相关的集合存储在一个 zip 文件中,在一个 blob 中。并不是说我赞成这一点,但如果您需要保存事务,至少它是一个选项(除了缓存)。
看看这篇 MSDN 文章,它描述了存储以及分区如何与 blob 和表相关(向下滚动到分区部分)。适合您的相关信息:每个 blob 都在其自己的分区中。使用表存储,您可以对单个分区内的实体执行原子操作(没有跨多个分区的原子操作)。这就是为什么您看不到跨多个 blob 的原子操作的原因。