关于 alibabacloud-odps-quota-manage
通过 Alibaba Cloud CLI 和 SDK 管理 Alibaba Cloud MaxCompute(ODPS)配额的 Agent 技能。支持列出和查询配额,以及创建按量付费配额;不支持创建订阅配额或通过 API 删除配额。
主要功能
- 01按计费类型列出配额
- 02按昵称查询配额详情
- 03创建按量付费配额
- 04创建前检查现有配额
- 05不支持创建订阅配额和通过 API 删除
适用场景
- 01查看某个地域的配额
- 02按昵称查找配额
- 03检查现有配额后创建按量付费配额
MCP 相关
这是 Agent 技能,并非 MCP 服务。README 未说明 MCP 连接能力。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-odps-quota-manage安装后在 Claude Code 中输入/alibabacloud-odps-quota-manage确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/acceptance-criteria.mdcli-installation-guide.mdram-policies.mdrelated-apis.mdverification-method.md详细介绍
MaxCompute 配额管理
使用 Alibaba Cloud CLI 和 SDK 管理 MaxCompute(ODPS)配额资源。此技能涵盖按量付费配额创建、配额查询和配额列表操作。
限制和说明
| 功能 | CLI 支持 | SDK 支持 | 说明 |
|---|---|---|---|
| 创建按量付费配额 | ✅ 是 | ✅ 是 | 完全支持 |
| 创建包年包月配额 | ❌ 不支持 | ❌ 不支持 | 暂不可用 |
| 查询配额(get-quota) | ✅ 是 | ✅ 是 | ⚠️ 已弃用 - 请改用 query-quota |
| 查询配额(query-quota) | ✅ 是 | ✅ 是 | 建议用来替代 get-quota |
| 列出配额 | ✅ 是 | ✅ 是 | 完全支持(按量付费和包年包月均支持) |
| 删除配额 | ❌ 无 API | ❌ 无 API | 无法通过 API 使用 - 必须使用控制台 |
| 修改配额 | ❌ 不在范围内 | ❌ 不在范围内 | 本解决方案不涵盖 |
重要:
- 此技能暂不支持创建包年包月配额。创建包年包月配额,请使用 Alibaba Cloud 控制台。
- 无法通过 CLI 或 SDK 执行删除配额操作。必须使用 Alibaba Cloud 控制台删除配额。
- 优先使用 query-quota - get-quota 已弃用,但如果返回成功,仍可使用
- ⚠️ 关键:检查配额是否存在时,始终使用 list-quotas,绝不要使用 get-quota
- 🚨 必须遵守:执行 create-quota 前,必须先调用 list-quotas - 绝不能跳过此步骤
架构
Alibaba Cloud Account → MaxCompute Service → Quota Resources (CU)
├── Pay-as-you-go Quota (后付费) ← **Creation Supported**
└── Subscription Quota (预付费) ← Query/List only
安装
预检查:需要 Aliyun CLI >= 3.3.3 运行
aliyun version验证版本是否 >= 3.3.3。如果尚未安装或版本过低, 请运行curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash进行更新, 或参阅 references/cli-installation-guide.md 查看安装说明。
预检查:需要配置 Aliyun CLI 插件 [必须] 手动安装 maxcompute 插件:
aliyun plugin install maxcompute[必须] 将插件更新到最新版本:aliyun plugin update maxcompute
# Verify CLI version
aliyun version
# Install maxcompute plugin (confirm when prompted)
aliyun plugin install maxcompute
# Update maxcompute plugin to latest version
aliyun plugin update maxcompute
[必须] CLI User-Agent — 每次调用 aliyun CLI 命令时,都必须包含:
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-quota-manage
在核心工作流开始时(调用任何 CLI 之前): [必须] 启用 AI-Mode — 执行 Agent Skill 必须启用 AI-mode。 调用任何 CLI 之前,运行以下命令:
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-odps-quota-manage"
[必须] 在每个退出点禁用 AI-Mode — 无论出于何种原因,在发送最终回复之前,都必须先禁用 AI-mode。这适用于所有退出路径:工作流成功、工作流失败、错误/异常、用户取消、会话结束,或任何不再执行 CLI 命令的其他情况。 AI-mode 仅用于 Agent Skill 调用场景,技能停止运行后不得保持启用。
aliyun configure ai-mode disable
环境变量
此技能使用 aliyun CLI 默认凭证链。无需显式配置凭证。
- 首次使用前运行
aliyun configure设置凭证 - 不要在命令中显式处理或传递凭证值
超时配置:
ALIBABA_CLOUD_CONNECT_TIMEOUT:连接超时时间(默认:10s)ALIBABA_CLOUD_READ_TIMEOUT:读取超时时间(默认:10s)- 这些默认值足以满足配额操作需求;无需显式配置
参数确认
重要:参数确认 — 在执行任何命令或 API 调用之前, 必须与用户确认所有可由用户自定义的参数(例如 RegionId、配额昵称、计费类型等)。 未经用户明确批准,不要假设或使用默认值。
输入验证
| 参数 | 验证规则 |
|---|---|
RegionId | 必须是有效的阿里云区域 ID(例如:cn-hangzhou、cn-shanghai) |
nickname | 最多 64 个字符;仅限字母数字字符、连字符(-)和下划线(_);如果包含中文字符,请进行 URL 编码 |
chargeType | 必须为 payasyougo(不支持订阅) |
commodityCode | 必须为 odps、odpsplus、odps_intl 或 odpsplus_intl |
billingType | 必须为 payasyougo、subscription 或 ALL |
**安全提示:**所有用户输入都会传递给 aliyun CLI,由其处理参数净化。请勿使用原始用户输入进行字符串拼接来构造命令。
| 参数名称 | 必填/可选 | 说明 | 默认值 |
|---|---|---|---|
RegionId | 必填 | 阿里云区域(例如:cn-hangzhou、cn-shanghai) | - |
chargeType | 必填 | 计费类型:仅支持 payasyougo(不支持订阅) | - |
commodityCode | 必填 | 产品代码(参见下表) | - |
billingType | 可选 | 列表筛选条件:subscription、payasyougo 或 ALL | ALL |
maxItem | 可选 | 列表中每页的最大条目数 | 100 |
商品代码(适用于按量付费)
| 站点 | 商品代码 |
|---|---|
| 中国(国内站) | odps |
| 国际(国际站) | odps_intl |
身份验证
安全:切勿暴露凭证
- 不要打印 AK/SK 值
- 不要要求用户在聊天中输入 AK/SK
- 不要使用带有硬编码值的
aliyun configure set
检查凭证:
aliyun configure list
如果没有凭证,请先让用户运行 aliyun configure,然后再继续。
核心工作流
🚨 步骤 0 - 执行任何操作前,先与用户确认参数:
运行任何 CLI 命令前,必须与用户确认所有必填参数:
- **对于 LIST:**确认
region和billing-type(payasyougo / subscription / ALL) - **对于 QUERY:**确认
region和nickname - **对于 CREATE:**确认
region、charge-type和commodity-code
不要自行假定或使用默认值。请明确询问用户,并等待确认后再继续。
🚨 所有操作的关键规则:
| 操作 | 首条命令 | 然后 |
|---|---|---|
| CREATE 配额 | list-quotas | 如果为空 → 创建;如果已存在 → 停止 |
| QUERY 配额 | query-quota | 显示结果 |
| LIST 配额 | list-quotas | 显示列表 |
⚠️ 未先运行 list-quotas 就执行 CREATE = 错误
禁止使用的命令 - 切勿使用:
- ❌
aliyun quotas命令 - 错误的服务(配额中心),请改用 MaxCompute - ❌ 任何用于配额操作的 BssOpenApi 命令 - 请改用 MaxCompute
- ❌
get-quota- 已弃用,请改用query-quota
必须使用(插件模式,短横线命名):
- ✅
aliyun maxcompute list-quotas- 用于列出/检查配额 - ✅
aliyun maxcompute query-quota- 用于查询配额详情 - ✅
aliyun maxcompute create-quota- 用于创建配额
**⚠️ 重要:**请使用 aliyun maxcompute 命令(MaxCompute 服务),而非 aliyun quotas 命令(配额中心服务)。
命令规则:
- 所有 CLI 命令均使用插件模式(短横线命名):
create-quota、list-quotas、query-quota - 参数也使用短横线命名:
--charge-type、--commodity-code、--billing-type
创建配额(先检查,再创建):
🚨 禁止创建预付费/订阅制配额: 此技能仅支持创建按量付费配额。
- 如果用户想创建预付费/订阅制配额 → 告知他们使用 阿里云控制台
- 不要尝试创建预付费配额
🚨 创建配额前:必须先运行 LISTQUOTAS,绝不能跳过:
步骤 1 - 必须执行:先调用 list-quotas
aliyun maxcompute list-quotas --billing-type payasyougo --region <R>
在获得 list-quotas 结果之前,不要继续执行步骤 2
使用 MaxCompute 服务(aliyun maxcompute),不要使用配额中心(aliyun quotas)。
获得 list-quotas 结果后(步骤 2):
| 结果 | 操作 |
|---|---|
| 列表中有配额 | 不要创建 - 告知用户“配额已存在” → 完成 |
| 列表为空 | 转到步骤 3(创建) |
步骤 3 - 仅当列表为空时执行:
创建前检查清单 - 必须全部满足:
- 用户想要按量付费(不是预付费/订阅制)
- 已调用 list-quotas,且返回空列表
- 该区域不存在现有按量付费配额
- 用户已确认要创建
aliyun maxcompute create-quota --charge-type payasyougo --commodity-code odps --region <R> --client-token <UNIQUE_TOKEN>
国际站:
aliyun maxcompute create-quota --charge-type payasyougo --commodity-code odps_intl --region <R> --client-token <UNIQUE_TOKEN>
重要:
- 使用插件模式(kebab-case):
create-quota - 使用 MaxCompute 服务,不要使用 BssOpenApi
- **client-token:**生成唯一令牌(例如 UUID),以便在重试时实现幂等性
- commodityCode 的取值:
- 中国站:
odps或odpsplus - 国际站:
odps_intl或odpsplus_intl - 绝不要将
maxcompute用作 commodityCode - 注意:设置
chargeType=payasyougo时,不会严格校验 commodityCode
- 中国站:
⚠️ 输出处理:
- 不要将命令输出通过管道写入文件(例如
| tee ...或> file.json)——如果目标目录不存在,即使 API 调用成功,命令也会返回非零退出码。 - 让 CLI 直接将输出打印到 stdout,然后直接解析结果。
- 保存输出文件时(例如
existing_quotas.json、actions_log.txt),写入文件前始终先运行mkdir -p <directory>,确保目标目录存在。
最后:
- 解析结果
- 展示给用户
- 完成
⚠️ 绝不要在调用 list-quotas 之前调用 create-quota。这会导致错误。
**注意:**如果配额已存在,不要创建。仅当 list-quotas 返回空列表时才创建。
查询配额(用户提供昵称时):
**优先使用:**使用 query-quota 作为主要 API,根据昵称查询特定配额详情。
检查清单:
- 用户提供了配额昵称
- 使用
query-quota(不要使用get-quota)
使用此命令:
aliyun maxcompute query-quota --nickname <N> --region <R>
**重要:**如果昵称包含中文字符,先进行 URL 编码,再传递给命令。
禁止使用:get-quota 已弃用,请改用 query-quota。
- 解析 JSON
- 提取:
nickName、name、id、status - 展示所有字段 → 完成
列出配额:
⚠️ 列出配额时:只能使用 MaxCompute 的 list-quotas,不要使用 BssOpenApi
检查现有按量付费配额时(创建前):
aliyun maxcompute list-quotas --billing-type payasyougo --region <R>
必须包含 --billing-type payasyougo,以便在 API 层进行筛选。
列出所有配额时(用户请求):
aliyun maxcompute list-quotas --billing-type ALL --region <R>
billingType 参数:
-
有效值:
payasyougo、subscription、ALL -
如果未设置,默认为
ALL -
检查现有按量付费配额时使用
payasyougo -
解析 JSON
-
提取
quotaInfoList数组 -
展示列表 → 完成
响应字段 odpsSpecCode 的枚举值:
| odpsSpecCode | 描述 |
|---|---|
OdpsStandard | ODPS 按量付费资源 |
OdpsSpot | ODPS Spot/非高峰时段资源(按量付费) |
OdpsDev | 开发者资源类型 |
OdpsPlusStandard | 订阅制资源 |
OdpsPlusHa | 高可用资源 |
OdpsPlusElasticCU | ODPS 非预留弹性 CU 订阅制资源 |
快速参考
有关完整的 CLI 命令参考和响应格式详情,请参阅 references/related-apis.md。
要点:
- 创建前使用
list-quotas --billing-type payasyougo - 查询时使用
query-quota(而非get-quota) - 创建时使用
create-quota(kebab-case 插件模式) - 始终包含
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-odps-quota-manage
任务完成
输出文件——必须在结束前创建:
mkdir -p outputs ran_scripts——首先确保目录存在- 将配额查询/列表结果保存到
outputs/existing_quotas.json - 将所有已执行操作的日志保存到
ran_scripts/actions_log.txt
重要: 写入文件前,务必对任何目标目录运行
mkdir -p。切勿假设目录已存在。
结束时:
- 总结已完成的操作
- 列出关键结果(昵称、区域、状态)
- 确认已写入输出文件(
outputs/existing_quotas.json、ran_scripts/actions_log.txt) - “✅ 完成”
错误处理
| 错误代码 | 处理方法 |
|---|---|
QuotaAlreadyExists | 配额已存在 → 查询并显示详情 → 任务完成 |
QuotaNotFound | 配额不存在 → 告知用户 |
InvalidParameter | 参数格式错误 → 与用户确认 |
Forbidden | 没有权限 → 引导至控制台 |
INTERNAL_ERROR | 重试一次或联系支持团队 |
清理
没有删除 API——必须使用 控制台 删除配额
API 参考
有关完整的 API 参考、CLI 命令和响应格式,请参阅 references/related-apis.md。
最佳实践
- 任何操作前都要先向用户确认区域
- 创建时: 先列出配额,检查是否已存在(每个区域仅限一个)
- 如果配额已存在: 为用户查询该配额,不要尝试创建
- 配额详情请使用 query-quota(不要使用 get-quota)
- 对于订阅配额: 引导用户前往 Alibaba Cloud 控制台
参考链接
| 参考资料 | 描述 |
|---|---|
| references/related-apis.md | 完整的 CLI 命令和 API 参考 |
| references/ram-policies.md | 所需的 RAM 权限 |
| references/verification-method.md | 成功验证步骤 |
| references/acceptance-criteria.md | 测试验收标准 |
| references/cli-installation-guide.md | CLI 安装指南 |