У меня есть функция azure и служба приложений azure, которые работают одинаково. Из обоих я вывожу полезную нагрузку, содержащую массив Json с несколькими Json объектами [{"x": "y"}, {"a": "b"}] в EventHub. Когда я проверяю концентраторы событий, я вижу, что массив был разбит на отдельные составляющие Json объектов.
{"x": "y"}
и
{"a": "b"}
(т.е. 2 сообщения)
Я не могу найти документацию по этому вопросу нигде и не знаю, является ли это функцией среды выполнения приложения, клиентских библиотек или самого концентратора событий.
Я бы хотел иметь возможность контролировать это поведение. Единственный способ найти это - обернуть массив в Json объект примерно так:
{"payload": [{"x": "y"}, {"a": " b "}]}
Редактировать 1: функция записана в java с функцией пружинного облака. Вот определение Обработчика, включая привязки:
public class CollectMessageHandler extends AzureSpringBootRequestHandler<Message, String> {
@FunctionName("collect")
@EventHubOutput(name = "output", eventHubName = "collected", connection = "OUT_CONN_STRING")
public String collect(
@EventHubTrigger(name = "input", eventHubName = "incoming", cardinality = Cardinality.ONE, connection = "IN_CONN_STRING") Message message,
ExecutionContext targetExecutionContext
) {
return handleRequest(message, targetExecutionContext);
}
}