Путь динамического вывода BLOB-объекта с помощью функции Azure - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть функция Azure, которая запускается концентратором событий.Вот фрагмент моего файла index.js.

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

    context.log('Event Hub Trigger: ', JSON.stringify(eventHubMessages));

    const product = context.bindingData.propertiesArray[0].productFilter;

    eventHubMessages.forEach(message =>
    {
      deviceId = message.deviceId;
      context.log('For each message:', JSON.stringify(eventHubMessages));
      context.log('Device ID is', deviceId);
    });
    context.log('Output Device ID is', deviceId);

    if ( product == 'prod1') {


        context.bindings.outputprod1 = eventHubMessages;

    } else if ( product == 'prod2') {

        context.bindings.prod2 = eventHubMessages;
    else {
        context.log("Product not found - " + product);
    }
    return context.done();

};

Во входящем сообщении есть свойство deviceId.Я хочу установить выходной путь BLOB-объекта на основе этого значения.

Вот мой файл function.json.

{
  "bindings": [

    {
      "type": "blob",
      "name": "outputprod1",
      "path": "eventtoblobcontainer/prod1/{datetime:yyyy}/{datetime:MM}/{datetime:dd}/prod1_{rand-guid}",
      "connection": "phiotrawdatadev_STORAGE",
      "direction": "out"
    },
    {
      "type": "blob",
      "name": "outputBlobprod2",
      "path": "eventtoblobcontainer/prod2/{datetime:yyyy}/{datetime:MM}/{datetime:dd}/prod2_{rand-guid}",
      "connection": "phiotrawdatadev_STORAGE",
      "direction": "out"
    }
  ]
}

Если я добавлю {deviceId} в путь, функция выдаст мне сообщение об ошибкеНет значения для именованного параметра 'deviceId'.Я попытался использовать возвращаемое значение функции в выходной привязке, но это дало мне ту же ошибку.Как мне этого добиться?

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