Похоже, это не поддерживается для триггера служебной шины, как для триггера очереди.
Для этого вы можете запросить функцию UserVoice .
Но Стоит отметить, что это ограничение содержит только для сообщений не в формате JSON.Если вместо этого вы отправите сообщение JSON, оно будет проанализировано как документированное .
Ваша функция может выглядеть примерно так:
using System;
using System.IO;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
namespace funk_csharp_queue
{
public class QueueMsg
{
public string filename { get; set; }
}
public static class ServiceBusTrigger
{
[FunctionName("ServiceBusTrigger")]
public static void Run(
[ServiceBusTrigger("myqueue", Connection = "ServiceBusConnection")] QueueMsg myQueueItem,
[Blob("samples-workitems/{filename}", FileAccess.Read)] String myBlob,
ILogger log)
{
log.LogInformation($"C# Service Bus trigger function processed: {JsonConvert.SerializeObject(myQueueItem)}");
log.LogInformation($"C# Blob input read: {myBlob}");
}
}
}
И сообщение, отправленное вами вОчередь / тема служебной шины будет выглядеть примерно так:
{
"filename": "11c8f49d-cddf-4b82-a980-e16e8a8e42f8.json"
}
Убедитесь, что для Тип контента установлено application/json
.