1

我有一个电子邮件Azure工作者角色(你猜对了),只是发送一封电子邮件。如何在Azure Blob上存储电子邮件以进行队列处理?

它工作的队列有To,From和Body。因此,实际的队列消息具有电子邮件本身。

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

所以,现在我想我需要将电子邮件存储在Azure Blob上,然后在该消息中存储对该blob的引用。然后工作人员可以从blob中抓取电子邮件。

但它似乎像Blob存储更多的图像,文件等 - 这只是一个POCO在我创建的内存中。

我怎样才能将一个POCO放在Azure Blob上?还是没有人有任何其他想法来完成这项任务?

+0

对不起,只是为了确保我明白POCO是什么意思? – hhaggan

+0

@hhaggan - http://en.wikipedia.org/wiki/Plain_Old_CLR_Object – RPM1984

回答

3

解决了我的问题。

  1. 将对象序列化为字符串。 (使用JSON.NET)
  2. 从串字节创建的MemoryStream,弹出在Azure斑点
  3. 与将BLOB GUID
  4. 工作者角色的参考创建队列消息拾取消息,从斑点抓住流,转换回C#POCO,发送电子邮件。
0

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

+0

究竟如何解决队列中64KB的限制? – Paparazzi

+0

对不起,但没有回答这个问题。我知道如何将对象放在队列中。 – RPM1984