如何解决Google Cloud API Gateway 端点如何从 Cloud Storage 文件传送数据?
我正在构建一个大型 API,该 API 将使用 Google Cloud API Gateway 将各种端点路由到不同的服务——有些可能是无服务器的 Cloud Functions,其他的将由我们 Kubernetes 集群中的 Rails 应用程序提供服务,以及以此类推。
我们将选择需要来自客户端的未经身份验证的访问的信息端点,其中的信息很少更改 - 作为大概每隔几个月一次。我希望将这些端点的内容写入谷歌云存储(在一个世界可读的存储桶中),然后允许 API 网关配置将特定端点指向它们(世界可读的存储桶不会满足此项目的安全标准)。
我为 API 网关创建了一个自定义服务帐户,并为相关存储桶赋予它存储对象查看者角色。
但是,在使用该服务帐户创建 API 配置并在 Postman 中请求端点后,我看到的是 Google 登录页面的 HTML,而不是我预期的 JSON 输出。
我的 OpenAPI 配置中的端点定义:
paths:
/products:
get:
x-google-backend:
address: https://storage.cloud.google.com/<BUCKET_NAME>/products.json
summary: List of products in JSON format
operationId: listProductsJson
produces:
- application/json
responses:
"200":
description: a product list
schema:
type: array
items:
$ref: '#/deFinitions/Product'
这是邮递员的回复:
有没有办法让这个设置正常工作,甚至调试这里发生的事情?我看到人们对 Cloud Functions 和 JWT aud
值有类似的困扰,但遵循对他们有用的方法似乎对 Cloud Storage 没有任何影响。
任何帮助将不胜感激! (我是 GCloud 世界的新手,所以如果有人对这些主要是静态的端点有替代实现,那也很酷。)
解决方法
您没有使用正确的网址。使用 https://storage.googleapis.com/<BUCKET_NAME>/products.json
而不是 https://storage.cloud.google.com/<BUCKET_NAME>/products.json
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。