You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中通过域名获取GCP组织ID

通过Python获取GCP组织ID(根据显示名称/域名)

依赖准备

首先安装GCP资源管理的Python客户端库:

pip install google-cloud-resource-manager

认证方式

确保你的Python环境已完成GCP认证,两种常用方式:

  • 本地开发:执行gcloud auth application-default login完成认证
  • 生产环境:设置环境变量GOOGLE_APPLICATION_CREDENTIALS指向服务账号JSON密钥文件

代码实现

下面的代码会遍历你有权访问的所有GCP组织,根据传入的显示名称或域名匹配并返回组织ID:

from google.cloud import resourcemanager_v3

def get_org_id(org_identifier: str, by_domain: bool = False) -> str | None:
    """
    根据组织显示名称或域名获取GCP组织ID
    :param org_identifier: 组织显示名称或域名
    :param by_domain: True表示按域名匹配,False按显示名称匹配
    :return: 组织ID(格式如organizations/123456789),无匹配则返回None
    """
    client = resourcemanager_v3.OrganizationsClient()
    # 遍历所有有权限访问的组织
    for org in client.list_organizations():
        if by_domain:
            # 匹配域名(org.domains属性为列表,匹配任意一个即可)
            if org_identifier in org.domains:
                return org.name
        else:
            # 匹配显示名称
            if org.display_name == org_identifier:
                return org.name
    return None

# 示例调用
if __name__ == "__main__":
    # 按显示名称查找
    print(get_org_id("我的GCP组织"))
    # 按域名查找
    print(get_org_id("example.com", by_domain=True))

权限说明

执行代码的账号需要拥有resourcemanager.organizations.list权限,通常绑定Organization Viewer(roles/resourcemanager.organizationViewer)角色即可。

注意事项

  • 如果账号有权访问多个组织,代码会返回第一个匹配的结果
  • 若未找到匹配组织,函数返回None,可根据业务需求添加异常抛出逻辑

内容的提问来源于stack exchange,提问作者intotecho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:52:04