首页 文章

如何在Azure Blob上存储电子邮件以进行队列处理?

提问于
浏览
1

我有一个电子邮件Azure工作者角色(你猜对了),只是发送一封电子邮件 .

它使用具有To,From和Body的队列 . 所以实际的队列消息有电子邮件本身 .

但是我遇到了一个电子邮件大小超过64KB的问题,所以它不能放在队列中 .

所以现在我想我需要将电子邮件存储在Azure Blob上,然后在邮件上存储对该blob的引用 . 然后 Worker 可以从blob中抓取电子邮件 .

但看起来Blob存储更像是图像,文件等 - 这只是我创建的内存中的POCO .

我怎样才能将POCO基本上放在Azure Blob上 - 或者有没有人有任何其他想法来完成这项任务?

2 回答

  • 0

    解决了我的问题 .

    • 将对象序列化为字符串 . (使用JSON.NET)

    • 从字符串字节创建MemoryStream,在Azure Blob上弹出

    • 创建一个引用Blob GUID的队列消息

    • Worker Role拾取消息,从Blob抓取流,转换回C#POCO,发送电子邮件 .

  • 3

    您可以序列化对象,以便将其存储在Windows Azure队列中 . 这篇文章说明了如何做到这一点 . Passing object messages in Azure Queue Storage

相关问题