关于 azure-quotas
azure-quotas 是一个 Agent 技能,用于查询和管理 Azure 订阅中的服务配额(服务限制)。它面向部署前的容量校验、区域对比以及配额超限问题排查。该技能以 az quota CLI 为首选方式,并提供脚本一次性返回限制、用量和可用容量。
主要功能
- 01基于 az quota 命令查询配额
- 02脚本输出限制、用量与可用容量
- 03按 localizedValue 匹配配额资源名称
- 04支持跨区域对比配额
- 05提供配额增加请求与状态查询
适用场景
- 01部署前校验 Azure 资源容量
- 02选择配额充足的 Azure 区域
- 03排查 QuotaExceeded 等配额错误
MCP 相关
该技能明确指示不要使用 azure-quota MCP 服务,认为其不可靠,应改用 az quota CLI。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ microsoft/ azure-skills --skill azure-quotas安装后在 Claude Code 中输入/azure-quotas确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/advanced-commands.mdcommands.mdscripts/check-quota.ps1check-quota.sh详细介绍
Azure 配额 - 服务限制与容量管理
权威指南 — 请严格遵循这些配额管理和容量验证说明。
概述
什么是 Azure 配额?
Azure 配额(也称为服务限制)是你可以在订阅中部署的资源数量上限。配额:
- 防止意外过度预配
- 确保 Azure 中的资源得到公平分配
- 表示各区域的可用容量
- 可以提高(可调整配额),也可以固定(不可调整配额)
关键概念: 配额 = 资源可用性
如果没有配额,就无法部署资源。规划部署或选择区域时,请务必检查配额。
何时使用此技能
在以下情况下调用此技能:
- 规划新的部署 - 部署前验证容量
- 选择 Azure 区域 - 比较各区域的配额可用性
- 排查超出配额的错误 - 检查当前用量与限制
- 申请提高配额 - 通过 CLI 或门户提交提高配额的请求
- 比较区域容量 - 查找有可用配额的区域
- 验证预配限制 - 确保部署不会超出配额
快速参考
| 属性 | 详情 |
|---|---|
| 主要工具 | Azure CLI(az quota)- 始终优先使用此工具 |
| 所需扩展 | az extension add --name quota(必须先安装) |
| 关键命令 | az quota list、az quota show、az quota usage list、az quota usage show |
| 完整 CLI 参考 | commands.md |
| Azure 门户 | 我的配额 - 仅在备用时使用 |
| REST API | Microsoft.Quota 提供程序 - 不可靠,切勿优先使用 |
| MCP 服务 | azure-quota MCP 服务 — 切勿使用此服务。它不可靠。请始终改用 az quota CLI。 |
| 所需权限 | Reader(查看)或 Quota Request Operator(管理) |
⚠️ 始终优先使用 CLI
REST API 和门户可能会显示误导性的“无上限”值——这并不意味着容量无限。这表示配额 API 不支持该资源类型。请始终从
az quota命令开始;如果 CLI 返回BadRequest,则改用 Azure 服务限制文档。完整 CLI 参考请参见 commands.md。
配额类型
| 类型 | 可调整性 | 审批 | 示例 |
|---|---|---|---|
| 可调整 | 可通过门户/CLI/API 提高 | 通常自动审批 | VM vCPU、公共 IP、存储帐户 |
| 不可调整 | 固定限制 | 无法更改 | 订阅级硬性限制 |
重要说明: 申请提高配额免费。你只需为实际使用的资源付费,无需为配额分配付费。
了解资源名称映射
⚠️ 关键: ARM 资源类型与配额资源名称之间并非一一对应。
映射示例
| ARM 资源类型 | 配额资源名称 |
|---|---|
Microsoft.App/managedEnvironments | ManagedEnvironmentCount |
Microsoft.Compute/virtualMachines | standardDSv3Family、cores、virtualMachines |
Microsoft.Network/publicIPAddresses | PublicIPAddresses、IPv4StandardSkuPublicIpAddresses |
发现工作流
切勿根据 ARM 类型推断配额资源名称。 请始终使用以下工作流:
-
列出资源提供程序的所有配额:
az quota list --scope /subscriptions/<id>/providers/<ProviderNamespace>/locations/<region> -
根据
localizedValue(人类可读的描述)进行匹配,找到相关配额 -
后续命令中使用
name字段(而非 ARM 资源类型):az quota show --resource-name ManagedEnvironmentCount --scope ... az quota usage show --resource-name ManagedEnvironmentCount --scope ...
📖 详细的映射示例和工作流: 请参阅 commands.md - Resource Name Mapping
脚本
预构建脚本可处理配额扩展安装、使用量查询和容量计算。请使用这些脚本,而不是手动构造命令。一次调用即可返回限制、使用量和可用容量。
| 脚本 | 用途 | 用法 |
|---|---|---|
scripts/check-quota.ps1 | 返回所有配额的限制、使用量和可用容量(或在提供资源名称时返回单个配额的数据) | 用于检查配额的主要脚本 |
scripts/check-quota.sh | 同上(bash) | 用于检查配额的主要脚本 |
核心工作流
工作流 1:检查特定资源的配额
场景: 部署前验证配额限制和当前使用量
使用资源提供程序和区域运行脚本。一次调用即可返回包含所有配额的表格,其中列出限制、当前使用量和可用容量:
.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region>
./scripts/check-quota.sh <provider> <region>
若要检查单个资源,请添加资源名称:
.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region> -ResourceName <resource-name>
./scripts/check-quota.sh <provider> <region> <resource-name>
示例:
.\scripts\check-quota.ps1 -ResourceProvider Microsoft.Compute -Region eastus
示例输出:
| 资源 | 区域 | 限制 | 使用量 | 可用量 |
|---|---|---|---|---|
| cores | eastus | 100 | 50 | 50 |
| standardDSv3Family | eastus | 350 | 50 | 300 |
| virtualMachines | eastus | 25000 | 5 | 24995 |
| ... | ... | ... | ... | ... |
📖 另请参阅: az quota show、az quota usage show
工作流 2:比较不同区域的配额
场景: 根据可用容量,找到最适合部署的区域
# Define candidate regions
REGIONS=("eastus" "eastus2" "westus2" "centralus")
VM_FAMILY="standardDSv3Family"
SUBSCRIPTION_ID="<subscription-id>"
# Check quota availability across regions
for region in "${REGIONS[@]}"; do
echo "=== Checking $region ==="
# Get limit
LIMIT=$(az quota show \
--resource-name $VM_FAMILY \
--scope "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Compute/locations/$region" \
--query "properties.limit.value" -o tsv)
# Get current usage
USAGE=$(az quota usage show \
--resource-name $VM_FAMILY \
--scope "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Compute/locations/$region" \
--query "properties.usages.value" -o tsv)
# Calculate available
AVAILABLE=$((LIMIT - USAGE))
echo "Region: $region | Limit: $LIMIT | Usage: $USAGE | Available: $AVAILABLE"
done
📖 另请参阅: commands.md,了解完整的脚本化多区域循环模式
工作流 3:申请提高配额
场景: 当前配额不足以支持部署
# Request increase for VM quota
az quota update \
--resource-name standardDSv3Family \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus \
--limit-object value=500 \
--resource-type dedicated
# Check request status
az quota request status list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus
审批流程:
- 大多数可调整的配额会在几分钟内自动获批
- 部分申请需要人工审核(数小时至数天)
- 不可调整的配额需要提交 Azure 支持工单
工作流 4:列出所有配额以进行规划
场景: 了解某个区域中资源提供程序的所有配额
# List all compute quotas in East US (table format)
az quota list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus \
--output table
# List all network quotas
az quota list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Network/locations/eastus \
--output table
# List all Container Apps quotas
az quota list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.App/locations/eastus \
--output table
📖 另请参阅: az quota list
故障排除
常见错误
| 错误 | 原因 | 解决方案 |
|---|---|---|
| REST API "No Limit" | 容易误导——并非没有限制 | 改用 CLI;请参阅快速参考中的警告 |
ExtensionNotFound | 未安装配额扩展 | az extension add --name quota |
BadRequest | 配额 API 不支持该资源提供程序 | 查看服务限制文档 |
MissingRegistration | 未注册 Microsoft.Quota 提供程序 | az provider register --namespace Microsoft.Quota |
QuotaExceeded | 部署将超出配额 | 申请提高配额或选择其他区域 |
InvalidScope | 范围格式不正确 | 使用以下格式:/subscriptions/<id>/providers/<namespace>/locations/<region> |
| CLI 命令完全无法运行 | 身份验证、扩展或环境问题 | 验证 Azure CLI 登录状态(az account show),重新安装配额扩展,并检查网络。请勿使用 azure-quota MCP 服务——它不可靠。 |
不受支持的资源提供程序
已知不受支持的提供程序:
- ❌ Microsoft.DocumentDB(Cosmos DB)- 请使用门户或 Cosmos DB 限制文档
已确认可用的提供程序:
- ✅ Microsoft.Compute(VM、磁盘、核心)
- ✅ Microsoft.Network(VNet、IP、负载均衡器)
- ✅ Microsoft.App(容器应用)
- ✅ Microsoft.Storage(存储帐户)
- ✅ Microsoft.MachineLearningServices(ML 计算)
📖 另请参阅:故障排除指南
其他资源
| 资源 | 链接 |
|---|---|
| CLI 命令参考 | commands.md - 完整语法、参数和示例 |
| Azure 配额概览 | Microsoft Learn |
| 服务限制文档 | Azure 订阅限制 |
| Azure 门户 - 我的配额 | 门户链接 |
| 申请提高配额 | 如何申请提高配额 |
最佳实践
- ✅ 部署前务必检查配额 - 避免出现超出配额的错误
- ✅ 先运行
az quota list- 查找正确的配额资源名称 - ✅ 比较区域 - 找到有可用容量的区域
- ✅ 考虑增长需求 - 申请比当前需求高 20% 的缓冲容量
- ✅ 使用表格输出查看概览 - 使用
--output table快速浏览 - ✅ 监控使用趋势 - 通过门户设置达到 80% 阈值时的警报