Как создать вывод Event Hub для Java функций и записать сообщение в хранилище? - PullRequest
0 голосов
/ 26 мая 2020

У меня запущена служебная шина 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); 

}

}

...