【问题标题】:Reading files with Azure Function使用 Azure Function 读取文件
【发布时间】:2021-10-06 03:08:48
【问题描述】:

我正在尝试读取我创建的文件,其中包含我的 Azure Function 应用程序的一些 URL。我正在使用 File 对象来读取它并最终将其解析为一个数组,但它似乎找不到该文件。

using (StreamReader r = File.OpenText(path))
        {
            Console.WriteLine(r.ToString());
        }

当它试图读取我从运行函数通过的路径时发生错误,如下所示。

var path = System.IO.Path.Combine(executionContext.FunctionDirectory, "url.json");
getURLs(path);

我被告知要使用我现在应用的 ExecutionContext,但我仍然无法看到我创建的文件。我正在尝试在本地运行函数应用程序。我检查了 bin/debug 文件并注意到 URL.json 文件没有被复制到输出文件中,所以我也将属性更改为始终复制。

我注意到,当我运行应用程序时,文件被删除了。

当手动构建应用程序时,它确实显示它是从项目文件夹中复制的,但在运行时它会被删除。有没有人遇到过这个问题并且知道我应该怎么做才能解决这个问题?

【问题讨论】:

    标签: azure-functions


    【解决方案1】:

    以下代码将帮助您阅读文件

    public static HttpResponseMessage Run(HttpRequestMessage req, ExecutionContext context)
    {
        var path = System.IO.Path.Combine(context.FunctionDirectory, "twinkle.txt");
        // ...
    }
    
    

    这会将您带到包含function.json 文件的文件夹。如果你需要到达bin文件夹,你可能需要上一层,然后追加bin

    // One level up
    Path.GetFullPath(Path.Combine(context.FunctionDirectory, "..\\twinkle.txt"))
    
    // Bin folder
    Path.GetFullPath(Path.Combine(context.FunctionDirectory, "..\\bin\\twinkle.txt"))
    
    

    更多信息请查看SO

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 1970-01-01
      • 2020-05-21
      • 1970-01-01
      • 2020-09-09
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多