Warm tip: This article is reproduced from serverfault.com, please click

javascript-如何从 NodeJS 中的 Azure 函数读取文件?

(javascript - How to read a file from an Azure Function in NodeJS?)

发布于 2021-10-13 22:42:27

我有一个 Azure 函数和一个名为 configAPI.json 的文件,它们位于同一文件夹中,如下图所示。

在此处输入图像描述

我想根据这篇文章使用以下代码阅读后者How can i read a Json file with a Azure function-Node.js但该代码根本不起作用,因为当我尝试查看其中是否有任何内容时我遇到的 configAPI 变量undefined

module.exports = async function (context, req) {
    const fs = require('fs');
    const path = context.executionContext.functionDirectory + '//configAPI.json';
    configAPI= fs.readFile(path, 'utf-8', function(err, data){
        if (err) {
            context.log(err);
        }
        var result = JSON.parse(data);
        return result
    });

   for (let file_index=0; file_index<configAPI.length; file_index++){
       // do something

  }
context.log(configAPI);
}

我在代码中缺少什么以确保我可以读取文件并在循环中的变量中使用它?

Questioner
abautista
Viewed
0
2,155 2021-10-14 10:58:26

functionDirectory- 给你你的功能应用程序的路径,然后你有你的单一功能

我认为你应该这样做:

const path = context.executionContext.functionDirectory + '\\configAPI.json';

如果你想解析你的 json 文件,你应该有:

const file = JSON.parse(fs.readFileSync(context.executionContext.functionDirectory + '\\configAPI.json'));

PS。上下文也有变量functionName,因此其他实验选项是:

    const path = context.executionContext.functionDirectory + 
+ '\\' +context.executionContext.functionName + '\\configAPI.json';