如果同时使用 Objectify 6.0 和 ,则会出现“DatastoreException:请求缺少必需的身份验证凭据”

2024-02-18

在部署在激活了 java 8 的标准环境上的 App Engine 应用程序上,如果我同时使用 Objectify 6.0 和标签,则会出现以下异常<url-stream-handler>urlfetch</url-stream-handler>在 appengine-web.xml 文件中。

com.google.cloud.datastore.DatastoreException: Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.

知道我如何绕过它吗?

如果我删除 urlfetch 标签(并激活计费)或者将 Objectify 降级到 v5,事情就会恢复正常。


我怀疑您遇到的问题是 Java 7 和 Java 8 标准环境之间的差异之一。避免这种情况有很大的好处urlfetch路径,如发出 HTTP(S) 请求 https://cloud.google.com/appengine/docs/standard/java/issue-requests注释(例如 HTTP/2)。特别是,元数据服务器(在 App Engine 上运行时对 Google Cloud SDK 进行自动身份验证)无法使用以下方式访问:urlfetch(参见该页)。

我认为您最好的选择可能是启用计费(如果您对此感到满意)。从文档页面:

尽管需要启用应用程序进行计费,但您的应用程序不会比在 Java 7 上运行的同一应用程序产生更多成本。

如果你还愿意付出urlfetch尝试一下,我认为您遇到的错误可以通过手动提供凭据(例如将它们捆绑在您的应用程序中)来修复,但这不会那么安全或高性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果同时使用 Objectify 6.0 和 ,则会出现“DatastoreException:请求缺少必需的身份验证凭据” 的相关文章

随机推荐