在 twilio 函数中从资产读取 csv 文件时出现问题

Getting issue in reading csv file from asset in twilio function

 var fs = require('fs');
        let fileName = 'file.csv';
        let file = Runtime.getAssets()[fileName].path;
        let text = fs.readFileSync(file);
            console.log('Your file contents: ' + text);

{
    "message": "Cannot read property 'path' of undefined",
    "name": "TypeError",
    "stack": "TypeError: Cannot read property 'path' of undefined\n    at Object.exports.handler (/var/task/handlers/ZFbf83ef45896ffe95e21dd028385c58ec.js:12:49)\n    at Object.exports.handler (/var/task/node_modules/enigma-lambda/index.js:310:10)\n    at Runtime.exports.handler (/var/task/enigma.js:17:9)\n    at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
}

我已将文件添加到资产并尝试从资产中获取该 csv 到 twilio 函数中

我测试了你的代码,它对我有用。

您是否将 file.csv 上传为 private asset

即将查看file.csv是public资产文件。 Runtime.getAssets() 只能获取私有资产文件的信息。 因此,如果 file.csv 是 public 资产文件,Runtime.getAssets()[fileName] return 没有资产对象,您无法从结果中获得 path 值。

我有一个愚蠢的问题,当我在代码中引用它时没有在我的文件名前面添加/,这也导致了未定义的问题。这是当您在资产或功能测试版中上传资产时 ui。

let fileName = '/filename.csv';
let assetFile = Runtime.getAssets()[fileName].path;
const assetContent = fs.readFileSync(assetFile).toString('utf-8');