【发布时间】:2019-12-15 11:27:38
【问题描述】:
我有一个挑战,要求我用下一个素数更新 .txt 文件中的数字。问题是它必须在 s3 存储桶内更新,我真的不知道如何使用 nodeJS 在 s3 中读取/写入文件。我正在使用 Lambda 函数来执行此操作。
我尝试在 AWS SDK S3 文档中搜索以获取一些输入,但没有成功。我是云新手,所以我很难理解一些 概念。
我使用 fs 读取/写入本地文件:
var fs = require("fs");
var calculateNextPrime = function (currentNumber) {
var divisor = 0;
var isTrue = false;
currentNumber++;
while (isTrue === false) {
for (var i = 1; i <= currentNumber; i++) {
if (currentNumber % i === 0) {
divisor++;
}
}
if (divisor === 2) {
isTrue = true;
} else {
currentNumber += 1;
divisor = 0;
}
}
return currentNumber;
}
var fileContent = fs.readFileSync('file.txt', 'utf8');
fileContent = Number(fileContent);
var newFileContent = insertNextPrime(fileContent);
fs.writeFileSync('file.txt', newFileContent);
【问题讨论】:
-
一些我认为可以改进您的代码的小 cmets:更喜欢
let/const到var,使用if (x)或if (!x)而不是比较布尔值与真或假,isTrue变量名没有传达任何有用的含义,使用break而不是简单地引入新的布尔值来退出循环,您的calculateNextPrime()方法不是最佳的,但可能工作正常。
标签: node.js amazon-web-services rest amazon-s3 aws-lambda