如何通过CLI查询GCP Run URL所属的关联项目?
反向查询GCP URL关联项目的CLI方案
针对Cloud Run服务URL
如果要从Cloud Run的URL反向定位所属项目,最适合大型组织的方法是使用GCP资源资产搜索命令,无需逐个遍历项目:
gcloud asset search-all-resources \ --organization=<你的组织ID> \ --asset-types="cloudrun.googleapis.com/Service" \ --query="status.url='<目标Cloud Run URL>'" \ --format="value(project, name, status.url)"
替换命令中的<你的组织ID>和<目标Cloud Run URL>即可直接得到该URL对应的项目ID、服务名称等信息。
如果没有组织ID,也可以先获取当前有权限的所有项目,再循环查询:
for project in $(gcloud projects list --format="value(projectId)"); do gcloud run services list --platform managed --project $project --format="value(status.url, projectId)" | grep "<目标Cloud Run URL>" done
针对GCS存储桶URL
对于GCS存储桶的URL(如gs://bucket-name或https://storage.googleapis.com/bucket-name),同样用资产搜索命令:
- 先从URL中提取存储桶名称
- 执行以下命令:
gcloud asset search-all-resources \ --organization=<你的组织ID> \ --asset-types="storage.googleapis.com/Bucket" \ --query="name='<存储桶名称>'" \ --format="value(project, name)"
权限说明
执行上述命令需要你拥有cloudasset.assets.searchAllResources权限,以及对组织内目标项目的基本访问权限,若权限不足请联系组织管理员授权。
内容的提问来源于stack exchange,提问作者witch-of-winter
相关产品推荐
相关产品推荐

