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

如何使用Python调用Google Cloud AppEngine Admin API发起请求?

正确调用Google AppEngine Admin API list_services接口的方法

错误原因排查

  • 未实例化ServicesAsyncClient客户端对象,直接调用类的list_services方法,此时传入的URL字符串会被当作类方法的self参数接收,因此抛出字符串类型无_client属性的错误
  • 官方封装的SDK不需要传入完整接口URL,只需按要求传入资源标识参数即可

正确调用步骤

1. 提前安装依赖包

pip install google-cloud-appengine-admin

2. 提前配置身份认证

将谷歌云服务账号密钥文件路径赋值给环境变量GOOGLE_APPLICATION_CREDENTIALS即可,SDK会自动读取认证信息。

3. 代码实现示例

import asyncio
from google.cloud.appengine_admin_v1 import ServicesAsyncClient

async def get_appengine_services(project_id: str):
    # 实例化异步客户端
    client = ServicesAsyncClient()
    # 构造请求参数,parent格式固定为 apps/项目ID
    request = {
        "parent": f"apps/{project_id}"
    }
    # 调用接口返回异步分页迭代器
    result = await client.list_services(request=request)
    # 遍历获取所有服务信息
    service_list = []
    async for service in result:
        service_list.append({
            "name": service.name,
            "service_id": service.id,
            "labels": service.labels
        })
    return service_list

# 调用示例
if __name__ == "__main__":
    # 替换为对应项目ID
    MY_PROJECT_ID = "utility-destiny-325416"
    services = asyncio.run(get_appengine_services(MY_PROJECT_ID))
    print(services)

补充说明

返回的ListServicesAsyncPager是异步分页迭代器,若服务数量超过单页返回上限,SDK会自动处理分页请求,直接遍历即可拿到全量结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:36:04