首页 > 解决方案 > 从 java spring boot 应用程序调用谷歌云函数

问题描述

我在使用适用于 iOS 和 swift 的特定 sdk 的移动应用程序中使用谷歌云功能没有问题。出于集成原因,我现在需要从 java springboot 服务器调用我的一个函数。

我找不到任何示例,是否存在特定的客户和示例?

我可以找到其他平台的示例,但不能找到 java 的示例。我错过了什么吗?有人可以让我朝着正确的方向前进吗?

谢谢

标签: javaspring-bootgoogle-cloud-platform

解决方案


GCP 有关于 Cloud Functions 身份验证的文档。由于您需要在 GCP 项目中的虚拟机上对云函数进行身份验证,因此我建议您阅读本节

如前所述,您应该获得一个可以在 Cloud Functions 上进行身份验证的身份令牌。您可以从元数据服务器gcloud元数据服务器获取令牌。在您以任何格式访问它之后,您可以在不损害您的凭据(例如环境变量、存储库外的文件)的情况下访问它,只需执行对函数触发器的 HTTP 请求。

最后你应该有这样的东西:

cf_trigger = "https://<region>-<project_id>.cloudfunctions.net/<function_name>"
identity_token = "foo"

HttpRequest.newBuilder()
    .uri(URI.create(cf_trigger))
    .header("Authorization", "bearer " + identity_token)
    .build();

推荐阅读