好的,所以我有一个用.NET Core编写的Web应用程序,我已经部署到AWS Elastic beanstalk这很容易,但我已经遇到了麻烦。
应用程序从外部源获取JSON数据并写入本地文件,当前位于项目根目录下的wwwroot / data / data.json。部署到AWS后,此功能在尝试写入文件时会抛出拒绝访问的异常。
我已经看到有关创建一个名为.ebextensions的文件夹,其中包含一些配置文件,其中包含一些容器命令,用于在部署后设置某些路径/文件的权限,我尝试过这样做,但这似乎对我没有任何作用 - 我甚至不知道这些命令是否被执行,所以我不知道发生了什么,如果有的话。
这是我在.ebextensions文件夹下创建的配置文件:
{
"container_commands": {
"01-aclchange": {
"command": "icacls \"C:/inetpub/AspNetCoreWebApps/app/wwwroot/data\" /grant DefaultAppPool:(OI)(CI)",
}
}
}
.config文件的名称与AWS中的应用程序名称匹配,但我也读过某个名称无关紧要的地方,只要它具有.config扩展名。
有没有人成功做过这样的事情?任何指针赞赏。
我不会尝试修复写入AWS Elastic Beanstalk中的本地存储的权限问题,而是建议使用类似Amazon S3的内容来存储文件。一些好处是: