【问题标题】:Calling a Google Cloud function from a web app on Google App Engine?从 Google App Engine 上的网络应用程序调用 Google Cloud 功能?
【发布时间】:2021-06-17 05:35:59
【问题描述】:

我想在 Google Cloud Platform 的 App Engine 上启动一个基于 Flask 的网络应用程序,它能够调用用 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) 网络应用程序调用云函数似乎没有记录。任何人都可以链接实现此效果的资源吗?

【问题讨论】:

    标签: python google-app-engine google-cloud-platform google-cloud-functions


    【解决方案1】:

    在这个答案中,我将列出示例文档以了解 Google Cloud 中的授权以及如何从 App Engine 调用 Cloud Functions。阅读这些链接/文档,了解一切如何运作并相互连接。一旦您了解了基础知识,Google Cloud 中的授权就非常容易实施和保护。

    第 1 步 - 了解 Google Cloud 中的授权

    Google Cloud 将 OAuth 用于大多数服务和 API。一些服务仍然支持 API 密钥。阅读本文以了解服务器/服务到服务器/服务授权的基础:

    Using OAuth 2.0 for Server to Server Applications

    要理解的关键点是访问令牌和身份令牌。另一种令牌类型是刷新令牌,主要用于刷新从用户凭据创建的 OAuth 令牌。

    第 2 步 - 了解用于授权的 JWT

    本文是针对物联网设备编写的,但所有 Google Cloud 服务的详细信息都相同/相似。此链接包含示例代码。

    Using JSON Web Tokens (JWTs)

    第 3 步 - 了解 Cloud Functions 授权

    Cloud Functions 使用 OAuth 身份令牌来授权来自其他服务和用户的请求。 OAuth 身份令牌是一个签名的 JWT,它断言调用者的身份。身份令牌由 Google 拥有或管理的私钥签名,并在授予对调用的 Cloud Function 访问权限之前由 Google 验证。

    Authenticating Developers, Functions, and End-users

    第 4 步 - 了解如何从 App Engine Standard 调用其他服务

    既然您了解了如何在 Google Cloud 中执行授权,那么您需要了解如何创建用于授权调用 Cloud Functions 的令牌。本文讨论了 Python 中的 App Identity,以及如何断言身份以调用 Cloud Functions 或 App Engine Standard 中的任何 Google API/服务。

    App Identity Python API Overview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-17
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多