mcpField
A
azure-quotas

azure-quotas

官方
github.com/microsoft云与 DevOps1.6k473.4k 次安装今天更新
代码仓库

关于 azure-quotas

azure-quotas 是一个 Agent 技能,用于查询和管理 Azure 订阅中的服务配额(服务限制)。它面向部署前的容量校验、区域对比以及配额超限问题排查。该技能以 az quota CLI 为首选方式,并提供脚本一次性返回限制、用量和可用容量。

主要功能

  1. 01基于 az quota 命令查询配额
  2. 02脚本输出限制、用量与可用容量
  3. 03按 localizedValue 匹配配额资源名称
  4. 04支持跨区域对比配额
  5. 05提供配额增加请求与状态查询

适用场景

  1. 01部署前校验 Azure 资源容量
  2. 02选择配额充足的 Azure 区域
  3. 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.md
commands.md
scripts/
check-quota.ps1
check-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 APIMicrosoft.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/managedEnvironmentsManagedEnvironmentCount
Microsoft.Compute/virtualMachinesstandardDSv3Family、cores、virtualMachines
Microsoft.Network/publicIPAddressesPublicIPAddresses、IPv4StandardSkuPublicIpAddresses
发现工作流

切勿根据 ARM 类型推断配额资源名称。 请始终使用以下工作流:

  1. 列出资源提供程序的所有配额:

    az quota list --scope /subscriptions/<id>/providers/<ProviderNamespace>/locations/<region>
    
  2. 根据 localizedValue(人类可读的描述)进行匹配,找到相关配额

  3. 后续命令中使用 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

示例输出:

资源区域限制使用量可用量
coreseastus1005050
standardDSv3Familyeastus35050300
virtualMachineseastus25000524995
...............

📖 另请参阅: 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 支持工单

📖 另请参阅: az quota update、az quota request status

工作流 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.Compute(VM、磁盘、核心)
  • ✅ Microsoft.Network(VNet、IP、负载均衡器)
  • ✅ Microsoft.App(容器应用)
  • ✅ Microsoft.Storage(存储帐户)
  • ✅ Microsoft.MachineLearningServices(ML 计算)

📖 另请参阅:故障排除指南

其他资源

资源链接
CLI 命令参考commands.md - 完整语法、参数和示例
Azure 配额概览Microsoft Learn
服务限制文档Azure 订阅限制
Azure 门户 - 我的配额门户链接
申请提高配额如何申请提高配额

最佳实践

  1. ✅ 部署前务必检查配额 - 避免出现超出配额的错误
  2. ✅ 先运行 az quota list - 查找正确的配额资源名称
  3. ✅ 比较区域 - 找到有可用容量的区域
  4. ✅ 考虑增长需求 - 申请比当前需求高 20% 的缓冲容量
  5. ✅ 使用表格输出查看概览 - 使用 --output table 快速浏览
  6. ✅ 监控使用趋势 - 通过门户设置达到 80% 阈值时的警报

评论

支持 Markdown