在编写队列触发的Azure函数时,我读到,默认情况下,它需要一个base-64编码的字符串,但它也可以绑定到POCO。
使用方法参数(如string paramName
)访问消息数据。paramName
是QueueTriggerAttribute中指定的值。您可以绑定到以下任何类型:
- 普通CLR对象(POCO)
string byte[]
QueueMessage
绑定到对象时,Functions运行时尝试将JSON有效负载反序列化为代码中定义的任意类的示例。
[文档]
当我尝试这个时,例外是...
输入不是有效的Base-64字符串,因为它包含一个非base 64字符、两个以上的填充字符或填充字符中的一个非法字符。
有趣的是,我读到过应该引用Microsoft.Azure.WebJobs.Extensions.Storage.Queues
,但我找不到任何关于如何使用它的示例或文档。
我引用了NuGet包,Visual Studio现在将QueueTriggerAttribute
下划线为不明确,因为它位于两个名称空间中;当我尝试完全限定它时,我找不到它。
在几个地方,我发现博客作者暗示使用...Extensions.Storage...
绑定自定义对象,但我已经搜索了一个多小时,我找不到任何关于如何实现这一点的示例或清晰的文档。
我错过了一些简单的东西吗?
1条答案
按热度按时间kuarbcqp1#
在编写队列触发的Azure函数时,我读到,默认情况下,它需要一个base-64编码的字符串,但它也可以绑定到POCO。
正确,但是为了绑定到POCO,消息仍然必须是包含有效JSON的base64编码字符串,该字符串可用于反序列化为POCO类的示例。
您可以尝试使用例如存储资源管理器: