簡體   English   中英

使用NodeJS重命名AWS Lambda中的文件

[英]Rename a file in AWS Lambda using NodeJS

我正在嘗試重命名當前存儲在AWS Lambda / tmp /目錄中的文件。

我已經嘗試了下面的代碼,但它指出找不到文件。 即使將tmp列為路徑

//Rename file
        fs.renameSync('/tmp/' + newFilename, '/tmp/' + oldFilename);
        console.log('File renamed from ' + oldFilename + ' to ' + newFilename);

我以異步方式運行main函數,而其他fs函數看起來像

const unlink2 = util.promisify(fs.unlink);
        await unlink2('/tmp/' + newFilename)
            .then(() => {
                console.log('File has been deleted from /tmp/');
            })
            .catch((err) => {
                console.log('Error', err);
            });

因此,不確定在這里按哪種方式前進。 誰能提供正確的代碼/程序幫助?

檢查官方文檔

舊路徑應該是第一個,新路徑是第二個參數。

.then().catch()無需await就可以使用,因此可以是:

unlink2(...).then(...).catch(...)

要么

try {
  await unlink2(...)
} catch (err) {
  console.error(err)
}
doNextOperation()

在示例代碼中,您編寫了重命名(newPath,oldPath),這應該是相反的,這可能就是為什么找不到文件的原因:

fs.renameSync(oldPath, newPath)

https://nodejs.org/api/fs.html#fs_fs_renamesync_oldpath_newpath

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM