标签: google-cloud-api-gateway

Google API Gateway 和 Cloud Endpoints 的区别

最近查了一下,Google 发布了一个API Gateway产品,但是我不明白已经创建的Cloud Endpoints之间有什么区别,它们似乎非常相似。

API Gateway新版本Cloud Endpoints吗?。或者有什么不同?

提前致谢!

google-cloud-endpoints google-cloud-platform google-cloud-api-gateway

16
推荐指数
1
解决办法
5436
查看次数

Google Cloud API Gateway 是否具有可配置的超时功能?

我浏览了Google Cloud API Gateway 文档并搜索了公共问题跟踪器,但未能以某种方式找到对此的提及。

我得到的最接近的是4 个月前的这个 google groups thread,这表明它可能是 60 秒,但我还无法确认这一点或确定它是否已经过时。

长话短说

我正在寻找 AWS API Gateway(具有固定的 30 秒超时)的替代方案,因此我试图弄清楚 GCP API Gateway 是否可以作为这一特定点的替代方案。

google-cloud-api-gateway

9
推荐指数
1
解决办法
3832
查看次数

尝试从新的 Google Cloud API Gateway 获取时出现 CORS 错误

我正在测试新的 API 网关,以保护我的 React 应用程序的云功能。到目前为止,这个过程比之前的替代方案要好得多,但是当我尝试从我的 React 应用程序访问我的 API 网关时,我目前遇到了 CORS 错误。我在我的 Cloud Function 中正确设置了 CORS 标头,但我不知道在 API Gateway 端点上执行相同操作的方法。我正在使用 Postman 测试对网关端点的请求,并且一切正常,所以这正是我从 React 应用程序请求时。

错误:“从源“https://example.netlify.app”获取“https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev/hello?key=example”的访问权限已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用了 CORS 的资源。”

希望对这个问题有所了解。谢谢!

cors reactjs google-cloud-platform google-cloud-functions google-cloud-api-gateway

7
推荐指数
3
解决办法
2777
查看次数

GCP - 从 API Gateway 访问 Google Cloud Run 后端

在我的 GCP 项目中,我有一个在 docker 容器中运行的 python API(使用 connexion)。我想使用 API Gateway 公开 API(带有 API 密钥)。

\n

当我使用 部署 docker 容器时--ingress internal,我Access is forbidden.通过网关进行 API 调用。因此 API 网关无法访问 Google Run 容器。\n当我使用 时--ingress all,一切都按预期工作,但随后可以从网络访问我的内部 API,这不是我想要的。

\n

我为此创建了一个服务帐户:

\n
gcloud iam service-accounts create $SERVICE_ACCOUNT_ID \\\n#  --description="the api gateway user" \\\n#  --display-name="api gateway user"\n
Run Code Online (Sandbox Code Playgroud)\n

...授予帐户run.invoker权限:

\n
gcloud projects add-iam-policy-binding $PROJECT_ID \\\n  --role=roles/run.invoker --member \\\n  serviceAccount:$SERVICE_ACCOUNT_EMAIL\n
Run Code Online (Sandbox Code Playgroud)\n

...并使用服务帐户创建 API 配置:

\n
gcloud api-gateway api-configs create $CONFIG_ID \\\n …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-cloud-run google-cloud-api-gateway

7
推荐指数
1
解决办法
3374
查看次数

GCP - 如何更新 API Gateway 中的 api 规范

我创建了一个 API 网关并创建了一个与其关联的 API 配置,其中列出了一组 API。现在我想添加/修改一组API。如何更新此网关的相同 API 配置?

google-cloud-platform google-cloud-api-gateway

7
推荐指数
2
解决办法
3504
查看次数

GCP API网关:无法使用路径参数

我正在努力将路径参数从网关传递到实际端点。

这是我的 Open API yaml:

swagger: '2.0'
info:
  description: |
    Blah blah
  version: 0.0.1
  title: SSAuth
  contact:
    email: blah@gmail.com
schemes:
  - https
produces:
  - application/json
paths:
  /v0/auth/users/echo:
    get:
      summary: check the health of api
      operationId: healthCheck
      consumes:
        - application/json
      produces:
        - application/json
      responses:
        200:
          description: OK
      x-google-backend:
        address: https://path-to-my-cloud-run-service/v0/auth/users/echo
      security:
        - api_key: []

  /v0/auth/users/type/{type}:
    post:
      summary: Add a new user to the user
      operationId: addUser
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: type
          in: path
          description: provider type …
Run Code Online (Sandbox Code Playgroud)

yaml google-cloud-platform openapi google-cloud-api-gateway

6
推荐指数
1
解决办法
2312
查看次数

带有 Google Kubernetes Engine (GKE) 的 Google Cloud API 网关

我正在寻找有关如何将 Google Cloud API Gateway 与 GKE 中托管的微服务/API 结合使用的工作示例/教程。例如,当我尝试创建 API 网关并将其指向 GKE 上的现有 API 时,出现以下错误:

后端 URL“http://35.xxx.xxx.xxx/legalentities”被禁止:无法通过 IP 地址路由请求。

google-cloud-platform google-kubernetes-engine google-cloud-api-gateway

6
推荐指数
1
解决办法
7592
查看次数

GCP:错误:(gcloud.services.enable)PERMISSION_DENIED:启用API时调用者没有权限

我正在尝试使用 API Gateway,但无法启用 apigateway.googleapis.com API。它没有显示在 中gcloud services list。我正在尝试遵循 gcp doc 的说明。https://cloud.google.com/api-gateway/docs/configure-dev-env#enabling_required_services

当尝试在控制台中启用它时,它不会返回任何内容。

当尝试在 gcloud 中启用它时,它返回错误,如下所示。 gcloud services enable apigateway.googleapis.com ERROR: (gcloud.services.enable) PERMISSION_DENIED: The caller does not have permission

我无法附加角色,因为我无法找到哪个角色与 apigateway 相关。由于没有相关政策,我无法创建自定义角色。

我有什么办法可以解决这个问题吗?

google-cloud-platform api-gateway google-cloud-api-gateway

5
推荐指数
1
解决办法
1万
查看次数

Google Cloud (API GATEWAY) 自定义域

我目前正在构建一个 rest api,为此我使用 Google Cloud API Gateway 和 Google Cloud Run。我一直在查看所有谷歌云文档并在其他地方进行研究,但找不到如何将自定义域添加到 API 网关实例。有趣的是,Google Cloud 端点有更多文档,我可以找到如何使用端点进行操作,但它不适用于我的用例。

我有 10 个谷歌云实例,每个实例分别运行一个微服务,我想将所有内容加入一个域中并添加对 openapi 的支持,但我的尝试失败了。

无论如何,如果有人设法自定义了 api 网关实例的域,如果您能指导我,我将不胜感激,问候。

google-cloud-platform google-cloud-api-gateway

5
推荐指数
1
解决办法
1414
查看次数

Google Cloud API Gateway 端点如何从 Cloud Storage 文件传输数据?

我正在构建一个大型 API,该 API 将使用 Google Cloud API Gateway 将各种端点路由到不同的服务 \xe2\x80\x93,其中一些可能是无服务器云功能,其他将由我们的 Kubernetes 中的 Rails 应用程序提供服务簇等。

\n

我们将选择需要客户端进行未经身份验证访问的信息端点,其中信息几乎不会每隔几个月更改一次 \xe2\x80\x93 。我希望将这些端点的内容写入 Google Cloud Storage(在一个世界无法读取的存储桶中),然后允许 API 网关配置将特定端点指向它们(一个世界可读的存储桶不会) t 满足该项目的安全标准)。

\n

我已经为 API 网关创建了一个自定义服务帐户,并为其指定了相关存储桶的存储对象查看者角色。

\n

但是,在使用该服务帐户创建 API 配置并在 Postman 中请求端点后,我看到的不是我期望的 JSON 输出,而是 Google 登录页面的 HTML。

\n

我的 OpenAPI 配置中的端点定义:

\n
paths:\n  /products:\n    get:\n      x-google-backend:\n        address: https://storage.cloud.google.com/<BUCKET_NAME>/products.json\n      summary: List of products in JSON format\n      operationId: listProductsJson\n      produces:\n        - application/json\n      responses:\n        "200":\n          description: a product list\n          schema:\n            type: array\n            items:\n              $ref: \'#/definitions/Product\'\n
Run Code Online (Sandbox Code Playgroud)\n

这是邮递员的回应:

\n

显示 Google 登录 HTML 的 Postman 屏幕截图

\n …

google-cloud-storage google-cloud-iam google-cloud-api-gateway

5
推荐指数
1
解决办法
1053
查看次数