У меня запущена служебная шина Java Функции, которые имеют вывод концентратора событий. Я хочу записать сообщение концентратора событий и сохранить его в хранилище. Я не получаю сообщение об ошибке, но я не получаю содержимое сообщения служебной шины для сохранения в хранилище.
1) Что-то не так, как я передаю сообщение служебной шины в концентратор событий? 2) Есть ли что-то, чего я не заметил в захвате концентратора событий?
Файл Avro: (я ожидал, что получу содержимое сообщения служебной шины, но получил некоторые данные конфигурации для хранения)
Objavro .codecnullavro.schema� {"тип": "запись", "имя": "Данные события", "пространство имен": "Microsoft.ServiceBus.Messaging", "поля": [{"имя": "Номер последовательности", "тип ":" long "}, {" name ":" Offset "," type ":" string "}, {" name ":" EnqueuedTimeUt c "," type ":" string "}, {" name " : "SystemProperties", "type": {"type": "map", "values": ["long", "double", "string", "bytes"]}}, {"name": "Свойства" , "type": {"type": "map", "values": ["long", "double", "string", "bytes", "null"]}}, {"name": "Body" , «тип»: [«ноль», «байты»]}]}
КОД: пакет com.topictriggereventhuboutput;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;
/**
* Azure Functions with Service Topic Trigger.
*/
public class TopicTriggerEventHubOutput {
/**
* This function will be invoked when a new message is received at the Service Bus Topic.
*/
@FunctionName("TopicTriggerEventHubOutput")
public void run(
@ServiceBusTopicTrigger(
name = "message",
topicName = "MyTopic",
subscriptionName = "MyTopicEHDataLakeSubscription",
connection = "sbconnstring"
)
String message,
@EventHubOutput(name = "event",
eventHubName = "ingestdatalakeventhub",
connection = "eh2connstring"
)
OutputBinding<String> outputItem,
final ExecutionContext context
) {
context.getLogger().info(" Topic Trigger EH Output Java Service Bus Topic trigger function executed.");
context.getLogger().info("Topic Trigger EH message content: "+ message); // This shows correctly!
// Write the SB Message to the Output binding.
outputItem.setValue(message);
}
}