如何从天蓝色应用程序服务(azure网站)将poco传递给azure webjob?

时间:2017-07-05 11:15:19

标签: azure poco sendgrid azure-webjobs kudu

我有一个运行在天蓝色应用服务中的asp.net mvc 5网站。我的网站允许客户通过电子邮件上传文件进行沟通(如果需要)。

我将此建模为使用带有azure webjob的sendgrid发送带附件的电子邮件(最大4mb)。

我不能使用azure队列,因为邮件大小太小了。

因此,我必须通过kudu与触发的webjob进行通信。我已经阅读了文档,argument似乎是一个简单的string,我可以从参数或WEBJOBS_COMMAND_ARGUMENTS环境变量中读取它。

我发送电子邮件的poco类有客户属性(主要是字符串)+用户上传的文件类型为HttpPostedFileBase。

如何通过kudu将此poco类传递给触发的webjob?

我应该将json序列化并将其作为字符串传递吗?

还有其他选择吗?

我需要帮助。

1 个答案:

答案 0 :(得分:0)

  

我不能使用azure队列,因为邮件大小太小了。

这不是对Azure队列的限制。

  

我应该将json序列化并将其作为字符串传递吗?

这基本上是天蓝色队列正在做的事情。

我的建议是,如果您想使用Azure WebJobs发送电子邮件,您只需将消息发送到具有相应有效负载的队列即可。当您收听队列时,您可以获得附件(可能将其存储为blob?)并使用SendGrid发送它。

当您收听消息时,您可以获得字符串或POCO对象。如果您要获得POCO,我建议不要发送HttpPostedFileBase属性,因为这会使消息过大(这是对消息的限制)。

希望这有帮助