Я пытаюсь отправить входящие данные из Интернета вещей в космическую БД.Я получаю данные в приложении функций, но, к сожалению, я не могу подключиться к космической БД с помощью предоставленной строки подключения (в быстром запуске Космоса БД и блейде строки подключения.
Ниже мое приложение node.js:
module.exports = function (context, IoTHubMessage) {
try {
var dbName = "temp-db";
var collectionName = "messages";
context.log(`JavaScript eventhub trigger function called for message array: ${IoTHubMessage}`);
context.log(`datatype of message: ${typeof IoTHubMessage}`);
var json_message = JSON.stringify(IoTHubMessage);
context.log(`json message: ${json_message}`);
var mongoClient = require("mongodb").MongoClient;
context.log('MongoClient created');
const pass = "Q********************XTB988aNw4CecjmZsSqTpCeXkjlzCrmljzjq58T9AqeuVvSJrUPBpc4rBSSD1CQ=="
const encodedpass = encodeURIComponent(pass)
const connectionString= `mongodb://iot-db:${pass}@iot-db.documents.azure.com:10255/?ssl=true`
context.log(`connection string:\n ${connectionString}`)
mongoClient.connect(connectionString, function (err,client){
context.log('check0...');
if(err){
context.log(`Error occurred while connecting to DB ${err}`)
} else{
context.log('MongoClient connected to DB');
}
context.log('check1...');
var collection = client.db(dbName).collection(collectionName);
context.log('MongoClient collection retreived');
collection.insertOne(IoTHubMessage, {w: 1});
//collection.insertOne({"testKey": 13.56}, {w: 1});
client.close();
context.log(`Saved message: ${IoTHubMessage}`);
context.done();
});
context.log('check2...');
} catch (e){
context.log(`Error ${e}`);
}
context.log('Done called');
context.done();
};
Вот проблемы, с которыми я сталкиваюсь:
- Вышеуказанное приложение не выдает никакой ошибки, но во время работы функция обратного вызова не выполняется (я знаю этопотому что распечатки не происходят внутри функции обратного вызова.)
- Я попытался передать пароль без кодировки URI. Затем он входит в функцию обратного вызова, но жалуется, что пароль содержит недопустимые символы.
- при передаче закодированного пароля он не входит в функцию обратного вызова.
- Как проверить, какой драйвер узла я сейчас использую?
- Как проверить, открыт ли мой порт 10255 или нет?
Я прилагаю скриншот приложения node.js
![screenshot of the code on portal](https://i.stack.imgur.com/2crGc.png)