Как вывести на сервисную шину из функции httptriggered

Как мы привязываем вывод к служебной шине?

Я установил привязку out внутри своей лазурной функции:

{
  "queueName": "testqueue",
  "connection": "MyServiceBusConnection",
  "name": "myQueueItem",
  "type": "serviceBus",
  "direction": "out"
}

Я начал со стандартного шаблона javascript/typescript для функции:

export function run(context: any, req: any): void {
    context.log("TypeScript HTTP trigger function processed a request.");
    context.log(req.query);
    context.bindings.outputSbQueue = req.query; //should bind here

    if (req.query.name || (req.body && req.body.name)) {
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: {
                message: `Hello ${(req.query.name || req.body.name)}`
            }
        };
    } else {
        context.res = {
            status: 400,
            body: "Please pass a name on the query string or in the request body"
        };
    }

    context.done();
};

Я получаю ответ от функции, но в служебную шину ничего не поступает.

У меня есть настройки приложения для MyServiceBusConnection, как показано на портале:

Как вывести на сервисную шину из функции httptriggered

Что я делаю неправильно? Как мы привязываем вывод к служебной шине?

Вот полный function.json файл:

{
  "disabled": false,
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "queueName": "testqueue",
      "connection": "MyServiceBusConnection",
      "name": "myQueueItem",
      "type": "serviceBus",
      "direction": "out"
    }
  ],
  "scriptFile": "../dist/HttpTriggerTS/index.js"
}

вы напрямую создаете функцию из пользовательского интерфейса портала?

HariHaran 20.05.2019 06:40

почему имя вашей привязки (myQueueItem) отличается от того, как вы его называете в коде (context.bindings.outputSbQueue)?

Farrukh Normuradov 20.05.2019 08:13

@FarrukhNormuradov это была проблема !!!!!! сделай это ответом

Alex Gordon 20.05.2019 16:57

переместите комментарий в раздел ответов.

Farrukh Normuradov 21.05.2019 17:45
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
4
173
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В следующем примере показана выходная привязка служебной шины в файле function.json и функция JavaScript, использующая эту привязку. Функция использует триггер таймера для отправки сообщения очереди каждые 15 секунд.

Вот данные привязки в файле function.json:

{
    "bindings": [
        {
            "schedule": "0/15 * * * * *",
            "name": "myTimer",
            "runsOnStartup": true,
            "type": "timerTrigger",
            "direction": "in"
        },
        {
            "name": "outputSbQueue",
            "type": "serviceBus",
            "queueName": "testqueue",
            "connection": "MyServiceBusConnection",
            "direction": "out"
        }
    ],
    "disabled": false
}

а вот пример кода JS

module.exports = function (context, myTimer) {
    var message = 'Service Bus queue message created at ' + timeStamp;
    context.log(message);   
    context.bindings.outputSbQueue = message;

Как указал Фаррух, убедитесь, что вы используете правильное имя в привязке и в коде. (outputSbQueue)

Надеюсь, поможет.

Ответ принят как подходящий

Почему имя вашей привязки (myQueueItem) отличается от того, как вы называете ее в коде (context.bindings.outputSbQueue)?

Другие вопросы по теме