[英]Calling a Google Cloud function from a web app on Google App Engine?
我想在 Google Cloud Platform 的 App Engine 上启动一个基于 Flask 的 web 应用程序,它能够调用 Cloud Function,用 python 编写。 下面参考独立做这些事情:
https://cloud.google.com/appengine/docs/standard/python3/building-app/writing-web-service https://cloud.google.com/functions/docs/first-python
但是,从托管在 App Engine 上的 (python) web 应用程序调用云 function 似乎记录不足。 任何人都可以链接已实现此效果的资源吗?
在这个答案中,我将列出示例文档以了解 Google Cloud 中的授权以及如何从 App Engine 调用 Cloud Functions。 阅读这些链接/文档,了解一切如何运作并相互连接。 一旦您了解了基础知识,Google Cloud 中的授权就非常容易实施和保护。
第 1 步 - 了解 Google Cloud 中的授权
Google Cloud 将 OAuth 用于大多数服务和 API。 一些服务仍然支持 API 密钥。 阅读这篇文章以获得服务器/服务到服务器/服务授权的基础:
要理解的关键点是访问令牌和身份令牌。 另一种令牌类型是刷新令牌,主要用于刷新从用户凭据创建的 OAuth 令牌。
第 2 步 - 了解用于授权的 JWT
本文是为 IoT 设备编写的,但所有 Google Cloud 服务的详细信息都相同/相似。 此链接包含示例代码。
第 3 步 - 了解云功能授权
Cloud Functions 使用 OAuth 身份令牌来授权来自其他服务和用户的请求。 OAuth 身份令牌是一个签名的 JWT,它断言调用者的身份。 身份令牌由 Google 拥有或管理的私钥签名,并在授予对调用的 Cloud Function 的访问权限之前由 Google 验证。
第 4 步 - 了解如何从 App Engine Standard 调用其他服务
现在您了解了如何在 GCP 中执行授权,您需要了解如何创建用于授权调用 Cloud Function 的令牌。 本文讨论 Python 中的 App Identity 以及如何声明身份以调用 Cloud Functions 或来自 App Engine Standard 的任何 Google API/服务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.