файловая служба Azure createFileFromText с помощью nodejs. загружает только 15 Б у меня файл 16мб

Я пытаюсь отправить файл с s3 на лазурь с помощью лямбда. но время истекает и загружается только 15B.

'use strict';

var AWS = require('aws-sdk');
var azure = require('azure-storage');
var s3 = new AWS.S3();
var xml2js = require('xml2js');

var parser = new xml2js.Parser({explicitArray : false});

var extractedData = "";
exports.handler = function(event, context) {
            var bucketName = event.Records[0].s3.bucket.name;
            var keyName = event.Records[0].s3.object.key;

            readFile(bucketName, keyName, readFileContent, onError);
};

function readFile (bucketName, filename, onFileContent, onError) {
            var params = { Bucket: bucketName, Key: filename };
            s3.getObject(params, function (err, data) {
                if (!err)
                    onFileContent(filename, data.Body);
                else
                    console.log(err);
            });
        }

        function readFileContent(filename, content) {
           parser.parseString(content, function(err,result){
                console.log(result);
                var fileService = azure.createFileService('fgdgdfg','dfgdfgdfgdfgdfg');
                fileService.createFileFromText('xfiles', '', 'rros.json', result, function(error, result, response) {
                if (!error) {
                  console.log("file created....")
                  }else{
                      console.log(error)
                  }
                });
            });
        }

        function onError (err) {
            console.log('error: ' + err);
        }

ОШИБКА:

TypeError: первый аргумент должен быть строкой или буфером в ClientRequest.OutgoingMessage.write (_http_outgoing.js:458:11) в Request.write (/var/task/node_modules/request/request.js:1501:27)


person Nikhil Kulkarni    schedule 08.03.2018    source источник


Ответы (1)


Четвертый параметр функции createFileFromText(...) не принимает Объект JavaScript. Вы должны использовать JSON.stringify(), чтобы преобразовать его в строку, подобную этой:

fileService.createFileFromText('xfiles', '', 'rros.json', JSON.stringify(result), function(error, result, response) {
    if (!error) {
        console.log("file created....")
    }else{
        console.log(error)
    }
});
person Aaron Chen    schedule 08.03.2018