Es kann nicht scheinen, ein Objekt in S3 in Lambda hochzuladen. Alles funktioniert gut lokal. Keine Fehler in Protokollen, die zeigen würde, was falsch läuft ...Wie lade ich ein Objekt in S3 in Lambda hoch?
-Code unten:
console.log('Loading function');
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
exports.handler = function(event, context) {
//console.log(JSON.stringify(event, null, 2));
var s3 = new AWS.S3();
var param = {Bucket: 'flow-logs', Key: 'test-lambda-x', Body: 'me me me'};
console.log("s3");
s3.upload(param, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
console.log('done');
context.done();
};
Läuft erfolgreich w/o Fehler, aber der Rückruf in s3.upload scheint nicht genannt zu werden. Kein Objekt im Bucket wird erstellt.
Überprüfte IAM-Rollenberechtigungen waren kein Problem, da sie vollen Zugriff gewährten und lokal getestet wurden.
Ausgabe
START RequestId: d4847fdb-160c-11e5-8a8c-b555b123e14d
2015-06-18T22:53:29.750Z d4847fdb-160c-11e5-8a8c-b555b123e14d s3
2015-06-18T22:53:30.271Z d4847fdb-160c-11e5-8a8c-b555b123e14d done
END RequestId: d4847fdb-160c-11e5-8a8c-b555b123e14d
Warum wird das s3-Objekt ein zweites Mal erstellt? (lokal und global) –
Ich habe eine vollständige funktionierende Version, die hier erklärt wird: http://stackoverflow.com/questions/33631229/how-to-set-open-download-permissions-on-a-file-created-in -s3-mit-amazon-lambda/33632736 –