我正在用visual studio 2017在azure函数v1本地开发一个服务总线触发器。我想测试一下
example
不需要在服务总线中输入消息的官方文档。所以我在终点站通过邮递员触发它
http://localhost:7071/admin/functions/ServiceBusQueueTriggerCSharp
用身体
{ "input": "foo" }
.
此操作失败,出现脚本主机错误:
执行函数时发生异常:ServiceBusQueueTriggercSharp。Microsoft.azure.webjobs.host:发生一个或多个错误。异常绑定参数'DeliveryCount'。Microsoft.azure.webjobs.host:绑定数据不包含预期值“DeliveryCount”。
我试着把
deliveryCount
争论,但是在
enqueueTimeUtc
. 去掉它也行。有没有办法保留这些参数并在本地测试函数?
我知道,当通过http触发时,这两个参数没有多大意义,但可以为它们提供默认值。
messageId
具有非零值。
参考示例:
[FunctionName("ServiceBusQueueTriggerCSharp")]
public static void Run(
[ServiceBusTrigger("myqueue", AccessRights.Manage, Connection = "ServiceBusConnection")]
string myQueueItem,
Int32 deliveryCount, // this fails
DateTime enqueuedTimeUtc, // this fails too
string messageId,
TraceWriter log)
{
log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
log.Info($"EnqueuedTimeUtc={enqueuedTimeUtc}");
log.Info($"DeliveryCount={deliveryCount}");
log.Info($"MessageId={messageId}");
}