Azure队列存储:发送邮件中的文件

时间:2015-06-22 11:57:21

标签: azure azure-storage-blobs azure-storage-queues

我正在评估Azure Queue Storage以在两个分离的应用程序之间进行通信。

我的要求是在队列消息中发送文件(平面文件,大小:小到大)。

根据我的阅读,队列中的单个消息不能超过64KB,因此在消息中发送可变大小的文件是不可能的。

我能想到的另一个解决方案是使用队列存储和blob存储的组合,即在队列消息中添加对文件的引用(在blob存储上),然后在需要时从blob中读取文件(使用引用) /队列消息中的地址)。

我的问题是,这是一种正确的方法吗?还是有其他优雅的方法来实现这个目标吗?

谢谢, 和Sandeep

1 个答案:

答案 0 :(得分:5)

虽然没有正确的方法,但由于您可以在队列消息中放入任何内容(在大小限制内),请考虑以下事项:如果您的文件大小超过64K,则根本无法存储这些在队列消息中,所以除了将内容存储在其他地方(例如blob)之外别无选择。对于64K以下的文件,您需要决定是否需要两种不同的方法来处理文件,或者只是使用blob作为您的文件源并采用一致的方法。

还要记住,消息传递会占用带宽和处理量。如果将文件存储在队列消息中,则需要通过高容量消息传递来解决此问题,并且还需要从队列消息中提取文件内容。

还有一件事:如果您将内容存储在Blob中,则可以使用任意数量的工具来操作这些文件,您的文件将永久保留在blob存储中(直到您明确删除它们为止)。处理后必须删除队列消息,不允许您保留文件。这可能是一个需要考虑的重要方面。

相关问题