什么是在Azure Webjob中将文本写入Blob的最佳方式

时间:2014-09-21 01:17:50

标签: azure-webjobs azure-webjobssdk

我有一个Azure Webjob。它正在将消息出列并进行处理。当它使消息出列时,它使用默认的模型绑定器来使我具有强类型参数。目前,该功能的签名如下所示:

DequeueCUWebinarMessages([QueueTrigger("tts-cuw-notifications-queue")] NotificationMessage notificationMessage, int dequeueCount, TextWriter log)

我想将NotificationMessage对象的一个​​属性存储到blob存储中。有问题的属性是一个字符串(特别是html)。

我知道您可以在WebJobs函数中使用Blob属性这一事实。所以我的问题是,我应该使用其中一个blob属性吗?如果是这样,我的新功能签名会是什么样的?

或者,我应该只使用存储客户端API将字符串“上传”到blob容器吗?

最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用WebJobs SDK来执行此操作。以下是该函数的外观:

DequeueCUWebinarMessages(
    [QueueTrigger("tts-cuw-notifications-queue")] NotificationMessage notificationMessage, 
    [Blob("output/blob.txt")] out string blob,
    int dequeueCount, 
    TextWriter log)
{
     blob = "blob content";
}

如果您实施客户序列化程序,则可以使用stringStreamTextWriterCloudBlockBlob或您自己的自定义类型,而不是ICloudBlob。< / p>