Google 仅在 App Engine 内部使用的端点

Google Endpoints using only inside App Engine

当我们创建端点时,它有外部地址可以访问它。因此,如果我尝试从另一个端点调用它,它将使用一些流量。

我想创建从外部可用的端点 (Api),以及另一个用于访问数据存储的端点。第二个端点不应具有外部访问权限,并且只能在 App Engine 内部从另一个应用程序调用(第一个具有外部地址的服务)。只是为了安全和最小化流量。

那么,是否可以创建仅适用于另一个 End Point 和来自 Container Engine 的应用程序的 End Point?或者我应该换一种方式?

我觉得你的问题很含糊。您是否试图从同一个应用引擎应用程序中访问一个端点?您可以将端点代码提取到静态方法中并调用该方法。在这种情况下没有充分的理由使用端点。

如果您尝试从另一个 App Engine 应用程序访问您的端点: Cloud Endpoints 默认为 public。如果您限制访问 Google JavaScript 客户端之类的东西将不再工作,因为您将阻止端点的正确发现。 您可以通过将 HttpServletRequest 注入端点 @ApiMethod 并按请求者的 IP 或自定义 header 进行过滤来限制对端点的访问。您还可以将用户 object 注入您的端点方法并执行服务帐户 oauth 身份验证以从另一个应用程序引擎实例或项目访问您的端点。

希望对您有所帮助

可以通过以下方式对 AppEngine 的数据存储进行本地访问: JPA、JDO、低级别 API (https://cloud.google.com/appengine/docs/java/datastore/) 如果您需要包装器,我在所有项目中都使用 Objectify,但也有 slim3(请参阅 link)。