首页 > 解决方案 > GCP - 动态获取云运行实例的 url

问题描述

我有一些在它们之间发出http请求的云运行,url在代码中是硬编码的,有没有办法通过云运行名称或其他属性来解析url?

标签: google-cloud-platform

解决方案


另一种可能的解决方案是使用方法:namespaces.services.get。

如果您知道服务名称,您可以在 API 调用中发出 GET HTTP 请求,https://{endpoint}/apis/serving.knative.dev/v1/{name}其中端点是受支持的端点之一,名称是要检索的 Cloud Run 服务的名称。对于 Cloud Run(全托管),将 {namespace_id} 替换为项目 ID 或编号。它采用命名空间/{namespace}/services/{service} 的形式。

授权需要对指定资源名称 的以下IAM权限:run.services.get

例如 :

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" https://us-central1-run.googleapis.com/apis/serving.knative.dev/v1/namespaces/your-project/services/your-service| grep url 

输出 :

“网址”:“https://cloud-run-xxxxxxxxxx-uc.a.run.app”


推荐阅读