Install
openclaw skills install huaweicloud-python-sdk-helper华为云 Python SDK 查询工具。自动发现已安装 SDK 的服务包、Client 类、API 方法列表、入参详情、SDK 类完整信息(__init__参数、属性、类型、描述),支持按关键字搜索。快速定位目标 API 的使用方法。
openclaw skills install huaweicloud-python-sdk-helper本技能的核心目标是 快速查询华为云 Python SDK 的方法与关键字,帮助开发者在不查阅文档的情况下:
安装配置为前置条件,本技能不重点处理安装问题。
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-clients |
| JSON 格式输出 | --json | python query_sdk_methods.py --service vpc --client VpcClient --json |
识别服务名 → python query_sdk_methods.py --service <服务> --client <Client> →
列出方法列表 → --method <方法名> 查入参 → --search <关键字> 搜索 → --class <类名> 查类详情
先确认服务名与 SDK 包的对应关系:
| 场景关键字 | 服务包 | Client 类 |
|---|---|---|
| VPC、虚拟网络、子网 | huaweicloudsdkvpc | VpcClient |
| ECS、云服务器 | huaweicloudsdkecs | EcsClient |
| IAM、用户、权限 | huaweicloudsdkiam | IamClient |
| OBS、对象存储 | huaweicloudsdkobs | ObsClient |
| Config、合规 | huaweicloudsdkconfig | ConfigClient |
| LTS、日志 | huaweicloudsdklts | LtsClient |
如果不确定,运行 python query_sdk_methods.py 查看所有已安装的 SDK 包。
# 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
输出:
================================================================================
方法入参详解: 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
输出:
================================================================================
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
输出:
================================================================================
类详情: 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 包:
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 GitHub | https://github.com/huaweicloud/huaweicloud-sdk-python-v3 |
| API Explorer | https://apiexplorer.developer.huaweicloud.com/apiexplorer/overview |