首页 > 解决方案 > AWS Lambda 无服务器应用程序嵌入式资源

问题描述

我创建了一个 WebApi 项目并将其作为无服务器应用程序部署到 AWS Lambda。一切都很好,除了一种方法,我需要从文件中读取。我可以看到这个文件被部署在被推送的 zip 文件中,但由于某种原因,当我在代码中读取它时,它找不到它。

我已经尝试了嵌入式资源和内容来构建操作,但似乎都不起作用。AWS 中是否有需要配置的东西,以便我的无服务器应用程序可以访问本地文件?

标签: c#amazon-web-servicesresourcesaws-lambdaembedded-resource

解决方案


对于任何需要更多细节的人。将您的嵌入文件添加到您的 .csproj 文件中,如下所示(资源是您的文件夹,请注意 .csproj 中的“resources\”和 .cs 中的“resources/”):

<ItemGroup>
    <Content Include="resources\*.*">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

在您的 .cs 文件中,获取文件路径:

var path = Path.Combine(Directory.GetCurrentDirectory(), "resources/example.txt");

推荐阅读