【问题标题】:Google App Engine Flex - ASP.net core 2.1Google App Engine Flex - ASP.net 核心 2.1
【发布时间】:2020-10-06 01:10:43
【问题描述】:

需要你的帮助。我只想在 App Engine 服务器中找到我的 .NET Core 2.1 的已发布文件(已发布的物理文件)。我使用谷歌插件工具发布我的网站,一切都是自动完成的。

我正在使用简单的 app.yaml 文件:

runtime: aspnetcore
env: flex

我尝试扫描 App Engine 服务器的一些文件夹,但找不到我的站点。我也想知道可能是因为谷歌使用了 docker(也没有使用 docker 的经验)并且这些文件在 docker 的容器中。不太确定。

【问题讨论】:

  • 您能否澄清一下您是否希望您的应用读取已发布的文件?还是您更想知道“部署的文件去了哪里”?
  • 您好 Jose V,非常感谢您的回复。我只想知道我部署的文件去了哪里。基本上我只想备份我的 sqlite 数据库,因为当我重新发布我的应用程序(使用“谷歌工具插件”)因为即使我使用相同版本的 App Engine 实例我认为它会删除我以前的所有文件(部署文件)。

标签: asp.net-core google-app-engine app-engine-flexible


【解决方案1】:

在您项目的 Cloud Storage Buckets 列表中,您会找到一个名为 artifacts.[project-id].appspot.com 的 Bucket。在那里您会找到已部署到 App Engine 的容器映像。

但是,App Engine 提供按需服务器配置和扩展。这意味着 App Engine 实例将在请求开始进入时创建,如果流量增加,将创建更多实例。

每个实例都会单独加载您应用的图片。

在这种环境下,你不应该在App的目录中存储任何相关信息,因为当实例由于流量不足而被杀死时,所有这些都会被删除,并且存储在一个实例中的数据将无法在其中使用其他情况。请参阅how instances are managed 了解更多信息。

如果您希望您的应用程序将数据存储在 SQL 数据库中,您可以查看 Cloud SQL,或者您可能会发现 Cloud Firestore,它是一个 NoSQL 数据库,可以满足您的需求。这是list of GCP databases

【讨论】:

  • 非常感谢 Jose V。是的,我明白你的意思。但我仍然只想知道我的文件去了哪里,在哪个特定文件夹中。
  • 恐怕你拿不到了。除了我在答案中提到的可以通过云存储访问的容器图像文件之外,当图像加载到实例中时,除了通过应用程序本身之外,没有其他方法可以访问它的文件。此外,当实例被杀死时,它的文件会随实例一起被删除
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 2020-02-21
  • 2020-02-10
  • 1970-01-01
  • 2011-03-06
  • 2018-11-22
相关资源
最近更新 更多