【发布时间】:2019-08-18 01:56:11
【问题描述】:
好的,所以我有一个用 .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 扩展名即可。
有没有人成功地做过这样的事情?任何指针表示赞赏。
【问题讨论】:
-
在我对 EB 一无所知的情况下,我可以建议您根本不要写入文件系统吗?它可能很脆弱,并且会出现您所看到的问题。例如,为什么不将文件推送到 S3 存储中?
-
这很可能是一个选择。使用文件系统的最初原因是为了避免为此使用数据库,因为应用程序根本不需要数据库。我可能会看看 S3 存储,谢谢。
-
刚刚快速浏览了一下 S3 存储,它似乎正是我所需要的。我将使用它而不是文件系统。感谢您的意见。
-
好的,我已经在这里回答并清理了我的cmets。
标签: amazon-web-services asp.net-core file-permissions amazon-elastic-beanstalk