Как отправить сообщение на служебную шину Azure и событие на шину-концентратор событий из отдельных функций Azure в NodeJS? - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть функция Azure, которая отправляет http-запрос на основе обещаний и получает ответ;Теперь я хочу отправить этот ответ на служебную шину и в другой концентратор событий (функция Azure запускается другим концентратором событий).Функция

сообщает, что она была успешно выполнена в случае концентратора событий, но события не отправляются.В случае служебной шины я получаю эту ошибку NamespaceConnectionString should not contain EntityPath.

module.exports = async function (context, eventHubMessages) {
    context.log(`JavaScript eventhub trigger function called for message array ${eventHubMessages}`);

    var completeData = '';

    eventHubMessages.forEach((message, index) => {
        context.log(`Processed message ${message}`);
        completeData = message;
    });

    var output = '';

    const axios = require('axios');

    try {
        const response =  await axios.post('http://fake-endpoint', 
        {  data-json : completeData
        })
        context.log(`statusCode: ${response.statusCode}`);
        context.log(response.data);
        output += response.data;

        var time = new Date().toString(); 
        context.log('Event Hub message created at: ', time);
        context.bindings.outputEventHubMessage = out;
        context.bindings.outputSbMsg = out;
        context.done()
        return response.data; // or return a custom object using properties from response
    } catch (error) {
        // If the promise rejects, an error will be thrown and caught here
        context.done(error);
    }

};

Ожидаемый результат: успешное выполнение;данные доступны на служебной шине и в центре событий для получения.Фактическая мощность: Error: NamespaceConnectionString should not contain EntityPath.

1 Ответ

0 голосов
/ 30 апреля 2019

Как говорится в сообщении об ошибке, вам нужно просмотреть строку подключения и удалить переменную EntityPath. Это включено , если вы копируете строку подключения при просмотре определенной темы или очереди, а не копируете ее из основного блейда служебной шины.

Конечная точка = SB: // {ServiceBus-имя} .servicebus.windows.net /; SharedAccessKeyName = тест-очереди-отправитель; SharedAccessKey = {SharedAccessKey} =; EntityPath = тест-очереди ;

против

Конечная точка = SB: // {ServiceBus-имя} .servicebus.windows.net /; SharedAccessKeyName = тест-очереди-отправитель; SharedAccessKey = {SharedAccessKey};

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...