如何使用 Python 中的项目 ID 以编程方式获取 google 云项目编号

How to programmatically obtain a google cloud project number using its project id in Python

一个google 云项目同时具有项目ID 和项目编号。项目id如何获取项目编号

已找到资源管理器中使用的示例代码改编 here

def get_project_number(project_id):
    """Given a project id, return the project number"""
    # Create a client
    client = resourcemanager_v3.ProjectsClient()
    # Initialize request argument(s)
    request = resourcemanager_v3.SearchProjectsRequest()
    # Make the request
    page_result = client.search_projects(request=request)
    # Handle the response
    for response in page_result:
        if response.project_id == project_id:
            project = response.name
            return project.replace('projects/', '')

LlamaD 答案的一个版本,但带有加快搜索速度的查询:

def get_project_number(project_id) -> Optional[str]:
    """Given a project id, return the project number"""
    # Create a client
    client = resourcemanager_v3.ProjectsClient()
    # Initialize request argument(s)
    request = resourcemanager_v3.SearchProjectsRequest(query=f"id:{project_id}")
    # Make the request
    page_result = client.search_projects(request=request)
    # Handle the response
    for response in page_result:
        if response.project_id == project_id:
            project = response.name
            return project.replace('projects/', '')