У меня есть таблица SQL, в которой есть столбцы Artist, Song и Lyrics.
|id | artist | song | text|
-------------------------
|1 | ABBA | Blah | blah|
-------------------------
|...| ... | ... | ... |
У меня также есть готовое облачное приложение Watson. Я хочу отправить текст каждой строки в облачный анализатор тонов Watson по этому адресу: http://watson -row-analyser.eu-gb.cf.appdomain.cloud / #
Затем я хочу использовать полученный JSON для добавления эмоциональных оценок каждой песни в новую таблицу:
|id | artist | song | score |
----------------------------
|1 | ABBA | Blah | joy .93|
----------------------------
|...| ... | ... | ... |
Как мне это сделать? Если кто-то может помочь с начальной частью фактического подключения кода, который я написал, к облачному адресу IBM, чтобы я мог опробовать некоторые POST, это было бы очень полезно!
Я уже пробовал код здесь:
const https = require('https')
const data = JSON.stringify({
todo: 'Buy the milk'
})
const options = {
hostname: 'flaviocopes.com',
port: 443,
path: '/todos',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': data.length
}
}
const req = https.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', (d) => {
process.stdout.write(d)
})
})
req.on('error', (error) => {
console.error(error)
})
req.write(data)
req.end()
Но в моем случае я не уверен относительно того, каким будет имя хоста или какой порт (так как он размещен не локально, а в облаке IBM). Поэтому я не смог установить требуемое соединение. Это на правильном пути?
Ниже приведен мой код - я могу успешно запрашивать строку за строкой, просто получая тексты из каждого.
var mysql = require('mysql');
var con = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '<password>',
database: 'songdata'
//insecureAuth : true
});
con.connect(function(err) {
if (err) throw err;
for (var i = 0; i <= 1; i++) {
con.query(`SELECT text FROM songdata2ID WHERE id = ${i}
`, function(err, result, fields) {
if (err) throw err;
console.log(result);
});
}
});