Я разрабатываю триггер служебной шины в функциях Azure v1 локально с Visual Studio 2017. Я хочу протестировать пример из официальных документов без необходимости помещать сообщение в служебную шину.Поэтому я запускаю его через Postman в конечной точке POST 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}");
}