本技能的核心目标是 快速查询华为云 Python SDK 的方法与关键字,帮助开发者在不查阅文档的情况下:
安装配置为前置条件,本技能不重点处理安装问题。
text
huaweicloud-python-sdk-helper/scripts/query_sdk_methods.py
功能命令行参数示例列出所有已安装 SDK 包无参数python query_sdk_methods.py列出某服务的 Client 类--service``python query_sdk_methods.py --service vpc列出 Client 的所有方法--service --client``python query_sdk_methods.py --service vpc --client VpcClient查询方法入参详情--service --client --method``python query_sdk_methods.py --service vpc --client VpcClient --method list_vpcs按关键字搜索方法--service --client --search``python query_sdk_methods.py --service vpc --client VpcClient --search firewall查询 SDK 类详细信息--service --class``python query_sdk_methods.py --service iam --v5 --class CreateUserReqBody列出全部 SDK 的 Client--all-clients``python query_sdk_methods.py --all-clientsJSON 格式输出--json``python query_sdk_methods.py --service vpc --client VpcClient --json
text
识别服务名 → python query_sdk_methods.py --service <服务> --client <Client> →
列出方法列表 → --method <方法名> 查入参 → --search <关键字> 搜索 → --class <类名> 查类详情
先确认服务名与 SDK 包的对应关系:
场景关键字服务包Client 类VPC、虚拟网络、子网huaweicloudsdkvpc``VpcClientECS、云服务器huaweicloudsdkecs``EcsClientIAM、用户、权限huaweicloudsdkiam``IamClientOBS、对象存储huaweicloudsdkobs``ObsClientConfig、合规huaweicloudsdkconfig``ConfigClientLTS、日志huaweicloudsdklts``LtsClient
如果不确定,运行 python query_sdk_methods.py 查看所有已安装的 SDK 包。
bash
# 1. 列出现有 Client
python query_sdk_methods.py --service vpc
# 2. 查看 VpcClient 所有方法
python query_sdk_methods.py --service vpc --client VpcClient
# 3. 查看 list_vpcs 方法的入参
python query_sdk_methods.py --service vpc --client VpcClient --method list_vpcs
# 4. 搜索包含 "firewall" 的方法
python query_sdk_methods.py --service vpc --client VpcClient --search firewall
# 5. 查询 Request/Response 类的详细信息(init参数、属性、类型、描述)
python query_sdk_methods.py --service iam --v5 --class CreateUserReqBody
命令: python query_sdk_methods.py --service vpc --client VpcClient --method list_vpcs
输出:
text
================================================================================
方法入参详解: list_vpcs
================================================================================
描述: 查询VPC列表
Request 类型: huaweicloudsdkvpc.v3.ListVpcsRequest
Response 类型: huaweicloudsdkvpc.v3.ListVpcsResponse
入参列表 (7 个):
------------------------------------------------------------
limit: int
marker: str
id: list[str]
enterprise_project_id: str
name: list[str]
description: list[str]
cidr: list[str]
命令: python query_sdk_methods.py --service vpc --client VpcClient --search firewall
输出:
text
================================================================================
Client: VpcClient
Module: huaweicloudsdkvpc.v3
Total API Methods: 101
================================================================================
搜索关键字: 'firewall' - 找到 18 个匹配
[1] add_firewall_rules:
描述: 网络ACL插入规则
Request: huaweicloudsdkvpc.v3.AddFirewallRulesRequest
Response: huaweicloudsdkvpc.v3.AddFirewallRulesResponse
[2] associate_subnet_firewall:
描述: 网络ACL绑定子网
Request: huaweicloudsdkvpc.v3.AssociateSubnetFirewallRequest
Response: huaweicloudsdkvpc.v3.AssociateSubnetFirewallResponse
...
命令: python query_sdk_methods.py --service iam --v5 --class CreateUserReqBody
输出:
text
================================================================================
类详情: CreateUserReqBody
================================================================================
完整路径: huaweicloudsdkiam.v5.CreateUserReqBody
__init__ 参数 (3 个):
------------------------------------------------------------
name = None
description = None
enabled = None
属性列表 (3 个):
------------------------------------------------------------
name: str - IAM用户名,长度为1到64个字符,只包含字母、数字、"_"、"-"、"."和空格的字符串,且首位不能为数字。
description: str - IAM用户描述信息,长度为0到255个字符,不能包含特定字符"@"、"#"、"%"、"&"、"<"、">"、"\\"、"$"、"^"和"*"的字符串。
enabled: bool - IAM用户是否启用。
openapi_types (SDK 内部类型定义):
------------------------------------------------------------
name: str
description: str
enabled: bool
SDK 安装为前置步骤,确保已安装目标服务的 SDK 包:
bash
pip install huaweicloudsdk<service> -i https://mirrors.tools.huawei.com/pypi/simple
# 或安装全部:pip install huaweicloudsdkall
每个方法包含以下信息:
使用 --method <方法名> 可获取方法的入参详情。脚本从 Request 类的 openapi_types 中提取:
说明:
request.<属性名> 设置CreateUserOption),仅显示第一层属性名和类型。如需深入了解嵌套类的入参详情,可通过 Python 代码直接导入并查看 openapi_types 属性使用 --class <类名> 可获取 SDK 类(如 Request Body、Response 等)的详细信息:
说明:
instance.<属性名> 直接设置__init__ 传入参数构造,如 CreateUserReqBody(name="test", enabled=True)__init__ 方法的 docstring 中的 :param 标签运行 python query_sdk_methods.py 查看可用的 SDK 包列表,确认服务名拼写。
某些服务只有 v2 版本(如 ECS 为 huaweicloudsdkecs.v2),脚本会自动检测并回退到可用版本。
部分 Request 类的 openapi_types 属性可能未定义,此时脚本无法提取详细入参信息,建议查阅 API Explorer。
资源链接SDK GitHubhttps://github.com/huaweicloud/huaweicloud-sdk-python-v3API Explorerhttps://apiexplorer.developer.huaweicloud.com/apiexplorer/overview