Я отправляю данные в Azure IoTHub.Затем эти данные извлекаются и обрабатываются функцией IoTHub EventHub.
Эта функция извлекает данные и вставляет эти данные в базу данных Azure Cosmos.
В функции IoTHub EventHub вы должны объявитьБаза данных Cosmos и коллекция Cosmos перед запуском функции.
Проблема в том, что я хочу использовать динамическое имя коллекции.Это имя зависит от данных, которые отправляются на IoTHub.Это возможно?Могу ли я объявить имя коллекции, когда функция запущена?
С помощью приведенных ниже сценариев можно отправить одну коллекцию
function.json:
{
"bindings": [
{
"type": "eventHubTrigger",
"name": "IoTHubMessages",
"direction": "in",
"path": "poc_funceventhubname",
"connection": "POCIoTHub_events_IOTHUB",
"cardinality": "many",
"consumerGroup": "functions"
},
{
"type": "documentDB",
"name": "outputDocument",
"databaseName": "VALUES",
"collectionName": "POCVALUES",
"createIfNotExists": true,
"connection": "pocCosmos_DOCUMENTDB",
"direction": "out"
}
],
"disabled": false
}
index.js:
module.exports = function (context, IoTHubMessages) {
var v;
var output = [];
IoTHubMessages.forEach(message => {
v = message.v;
context.log(`v = ${v}`);
for(var i = 0; i < message.REGS.length; i++) {
var obj = message.REGS[i];
output[i] = {
"vi": v,
"pi": obj[0],
"ts": obj[2],
"vl": obj[1]
};
context.bindings.outputDocument = output;
}
});
context.done();
};
Summery:
Я хочу использовать переменную collectionName, которая будет объявлена в index.js?
Как объявить collectionName вde function.json и можно ли объявить эту переменную в de index.js?