使用 App Engine 捆绑服务数据存储区时出现 $FeatureNotEnabledException

问题描述 投票:0回答:2

将我的 GAE 服务从 Java 8 迁移到 Java 11,我正在使用 App Engine 捆绑服务。

https://cloud.google.com/blog/products/serverless/support-for-app-engine-services-in-第二代-runtimes

API文档显示有数据存储API,

https://cloud.google.com/appengine/docs/standard/java11/reference/services/bundled

但是当我在 Java 11 运行时部署服务时,我得到了 $FeatureNotEnabledException

javax.servlet.ServletException:com.google.apphosting.api.ApiProxy$FeatureNotEnabledException:datastore_v3.RunQuery

有一篇博文说它回来了,

https://www.googlecloudcommunity.com/gc/Serverless/Updates-from-the-Google-App-Engine-team-Fall-2021/td-p/174941

但我不确定我可以像这样使用“com.google.appengine.api.datastore.Query”

    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    Key         key         = KeyFactory.createKey("Memobook", user.getEmail());
    Query       query       = new Query("Memo", key);
    datastore.prepare(query);
java google-app-engine migration datastore
2个回答
0
投票

在最新的 Cloud SDK CLI 版本以及最新的 GAE Maven 和 Gradle 插件中添加了支持。

确保您使用所有这些工具的最新版本,并且不在 pom.xml 或 Gradle 构建文件中固定旧的 Cloud SDK 版本。 使用最新版本,应该没问题。

例如:Cloud SDK CLI 版本:460.0.0 或更高版本 Maven GAE 插件:2.5.1 或更高版本 Gradle GAE 插件:2.5.0 或更高版本


-1
投票

添加 true appengine-web.xml 中的内容将启用 API。 你尝试过吗?

请参阅文档 https://cloud.google.com/appengine/docs/standard/java-gen2/services/access

© www.soinside.com 2019 - 2024. All rights reserved.