从Appengine SDK迁移到Cloud SDK后,在使用AppEngineRun运行时无权创建文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Appengine SDK迁移到Cloud SDK后,在使用AppEngineRun运行时无权创建文件相关的知识,希望对你有一定的参考价值。
我在最近从AppEngine SDK迁移到Cloud SDK后遇到了问题。在使用gradle任务AppEngineRun运行时,由于权限被拒绝异常(IO异常),我无法创建/读取文件。
File file = new File("test");
if(!file.exists()) {
directory.mkdir();
}
但是如果我在项目中创建一个mock main并将其作为NO-APPEGINE-APP运行,我就可以创建/读取文件
编辑我正在使用标准环境,当我仍在使用AppEngine SDK时,通常会将其保存在项目的根目录中
如果您引用Web应用程序目录,则可以使用约定属性warDir选择使用与默认目录不同的另一个目录:“appengineRun:启动运行项目代码的本地开发服务器。默认情况下会创建WAR文件,每次运行此任务时,都会展开并用作Web应用程序目录。可以通过设置约定属性warDir来更改此行为。更多细节可以从Gradle App Engine plugin收集。对于数据存储,建议您使用Cloud Datastore,Cloud SQL,Memcache或Cloud Storage,因为在云环境中无法访问本地文件系统。
指定运行时环境解决了问题
<runtime>java8</runtime>/
虽然我不确定原因。我刚做了一个很长的镜头。
以上是关于从Appengine SDK迁移到Cloud SDK后,在使用AppEngineRun运行时无权创建文件的主要内容,如果未能解决你的问题,请参考以下文章
从 appengine 迁移到完整 django 的下一步是啥?
尽管软件包安装在 virtualenv 中并且在 Google Cloud SDK 中可用,但 Google AppEngine dev_appserver 引发 ImportError
通过 Google Cloud SDK 更新 App Engine 应用程序后无法启动它