我正在尝试实现一种Azure函数,该函数会将大量数据提取到SQL数据库中。
通过大量的内容,我试图实现乏味的批量流式传输,但我无法使其正常工作,甚至无法在所有Internet上找到任何实现示例。
我通常可以在添加行的情况下使它工作,但是由于体积很大,我不得不使大容量流工作。
...
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);
...
我在做什么错?请帮助我。