Я пытаюсь реализовать функцию Azure, которая будет загружать большой объем данных в базу данных SQL.
Большим объемом я пытался реализовать утомительную массовую потоковую передачу, но не смог заставить ее работать или даже не нашел ни одного примера реализации во всем Интернете.
Я мог бы заставить его работать, добавляя строки в обычном режиме, но из-за большого объема я получил массовую потоковую работу.
...
const bulkLoad = connection.newBulkLoad('dbo.Adjustments', options, function (error, rowCount) {
if(error){
context.log('bulkloadError=>', error);
}
context.log('inserted %d rows', rowCount);
});
bulkLoad.addColumn('XPTO', TYPES.VarChar, { length: 11, nullable: false });
bulkLoad.addColumn('XPTY', TYPES.NVarChar, { length: 7, nullable: true });
const rowStream = bulkLoad.getRowStream();
//geting csv records to streaming to the table
csv()
.fromString(myBlob.toString())
.subscribe(function(jsonObj) { //single json object will be emitted for each csv line
return new Promise(function(resolve, reject) {
resolve()
rowStream.write({
XPTO: jsonObj.XPTO, XPTY: jsonObj.XPTY},"utf-8", function(){
context.log('Writed data.');
});
})
}, function (eror){ context.log('erro subscribe-> ', error) },function(){});
connection.execBulkLoad(bulkLoad);
rowSource.pipe(rowStream);
...
Что я делаю не так? Пожалуйста, помогите мне.