mcpField
A
alibabacloud-odps-quota-manage

alibabacloud-odps-quota-manage

github.com/aliyun云与 DevOps281206 次安装1 天前更新
代码仓库

关于 alibabacloud-odps-quota-manage

通过 Alibaba Cloud CLI 和 SDK 管理 Alibaba Cloud MaxCompute(ODPS)配额的 Agent 技能。支持列出和查询配额,以及创建按量付费配额;不支持创建订阅配额或通过 API 删除配额。

主要功能

  1. 01按计费类型列出配额
  2. 02按昵称查询配额详情
  3. 03创建按量付费配额
  4. 04创建前检查现有配额
  5. 05不支持创建订阅配额和通过 API 删除

适用场景

  1. 01查看某个地域的配额
  2. 02按昵称查找配额
  3. 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.md
cli-installation-guide.md
ram-policies.md
related-apis.md
verification-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 或 ALLALL
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描述
OdpsStandardODPS 按量付费资源
OdpsSpotODPS Spot/非高峰时段资源(按量付费)
OdpsDev开发者资源类型
OdpsPlusStandard订阅制资源
OdpsPlusHa高可用资源
OdpsPlusElasticCUODPS 非预留弹性 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

任务完成

输出文件——必须在结束前创建:

  1. mkdir -p outputs ran_scripts——首先确保目录存在
  2. 将配额查询/列表结果保存到 outputs/existing_quotas.json
  3. 将所有已执行操作的日志保存到 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。

最佳实践

  1. 任何操作前都要先向用户确认区域
  2. 创建时: 先列出配额,检查是否已存在(每个区域仅限一个)
  3. 如果配额已存在: 为用户查询该配额,不要尝试创建
  4. 配额详情请使用 query-quota(不要使用 get-quota)
  5. 对于订阅配额: 引导用户前往 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.mdCLI 安装指南

相关文档

评论

支持 Markdown