/ / azure fileservice createFileFromText z nodejs. przesyła tylko 15 B Mam plik 16mb - node.js, azure, azure-storage-files

azure fileservice createFileFromText z nodejs. ładuje tylko 15 B Mam plik 16mb - node.js, azure, azure-storage-files

Próbuję wysłać plik z s3 na lazur używając lambda. ale limit czasu i wysyłanie tylko 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);
}

BŁĄD:

TypeError: Pierwszy argument musi być ciągiem lub Buforem w ClientRequest.OutgoingMessage.write (_http_outgoing.js: 458: 11) na Request.write (/var/task/node_modules/request/request.js: 1501:27)

Odpowiedzi:

0 dla odpowiedzi № 1

Czwarty parametr funkcji createFileFromText(...) nie akceptuje obiektu JavaScript. Powinieneś użyć JSON.stringify() zamykać go na ciąg znaków:

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