aws lambda 在 s3 上写一个文件 - javascript
aws lambda write a file on s3 - javascript
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
exports.handler = async (event) => {
var bucketName = 'arn:aws:s3:::alessio77';
var keyName = 'prova.txt';
var content = 'This is a sample text file';
var params = { 'Bucket': bucketName, 'Key': keyName, 'Body': content };
s3.putObject(params, function (err, data) {
console.log('entrato')
if (err)
console.log(err)
else
console.log("Successfully saved object to " + bucketName + "/" + keyName);
});
};
这段代码既不写文件也不报错
这是日志:
START RequestId:7c93b1b9-73c1-4f18-9824-095bcbe292bf 版本:$LATEST
结束 RequestId:7c93b1b9-73c1-4f18-9824-095bcbe292bf
REPORT RequestId:7c93b1b9-73c1-4f18-9824-095bcbe292bf 持续时间:706.18 毫秒计费持续时间:800 毫秒内存大小:128 MB 使用的最大内存:90 MB
s3.putObject 是异步的,您需要等待它。大多数 aws api 调用 returns 一个 AWS.Request 可以 return 一个承诺。这是一个使用 await 的解决方案。
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
exports.handler = async (event) => {
var bucketName = 'arn:aws:s3:::alessio77';
var keyName = 'prova.txt';
var content = 'This is a sample text file';
var params = { 'Bucket': bucketName, 'Key': keyName, 'Body': content };
try {
console.log('entrato')
const data = await s3.putObject(params).promise();
console.log("Successfully saved object to " + bucketName + "/" + keyName);
} catch (err) {
console.log(err)
};
};
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
exports.handler = async (event) => {
var bucketName = 'arn:aws:s3:::alessio77';
var keyName = 'prova.txt';
var content = 'This is a sample text file';
var params = { 'Bucket': bucketName, 'Key': keyName, 'Body': content };
s3.putObject(params, function (err, data) {
console.log('entrato')
if (err)
console.log(err)
else
console.log("Successfully saved object to " + bucketName + "/" + keyName);
});
};
这段代码既不写文件也不报错 这是日志:
START RequestId:7c93b1b9-73c1-4f18-9824-095bcbe292bf 版本:$LATEST 结束 RequestId:7c93b1b9-73c1-4f18-9824-095bcbe292bf REPORT RequestId:7c93b1b9-73c1-4f18-9824-095bcbe292bf 持续时间:706.18 毫秒计费持续时间:800 毫秒内存大小:128 MB 使用的最大内存:90 MB
s3.putObject 是异步的,您需要等待它。大多数 aws api 调用 returns 一个 AWS.Request 可以 return 一个承诺。这是一个使用 await 的解决方案。
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
exports.handler = async (event) => {
var bucketName = 'arn:aws:s3:::alessio77';
var keyName = 'prova.txt';
var content = 'This is a sample text file';
var params = { 'Bucket': bucketName, 'Key': keyName, 'Body': content };
try {
console.log('entrato')
const data = await s3.putObject(params).promise();
console.log("Successfully saved object to " + bucketName + "/" + keyName);
} catch (err) {
console.log(err)
};
};