安装方式
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add microsoft/azure-skills --skill azure-quotas 检查/管理跨提供商的 Azure 配额和使用情况。用于部署规划、容量验证、区域选择。触发条件:"检查配额"、"服务限制"、"当前使用情况"、"申请配额增加"、"配额已超出"、"验证容量"、"区域可用性"、"预配限制"、"vCPU 限制"、"我的订阅中有多少可用 vCPU"。
170.9k
下载量
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add microsoft/azure-skills --skill azure-quotas name: azure-quotas
description: 检查/管理跨提供商的 Azure 配额和使用情况。用于部署规划、容量验证、区域选择。触发条件:"检查配额"、"服务限制"、"当前使用情况"、"申请配额增加"、"配额已超出"、"验证容量"、"区域可用性"、"预配限制"、"vCPU 限制"、"我的订阅中有多少可用 vCPU"。
license: MIT
metadata:
author: Microsoft
version: "1.1.2"权威指南 — 严格遵循以下说明进行配额管理与容量验证。
什么是 Azure 配额?
Azure 配额(也称为服务限制)是可在订阅中部署的资源最大数量。配额的作用:
关键概念: 配额 = 资源可用性
如果没有配额,就无法部署资源。在规划部署或选择区域时务必检查配额。
在以下情况下调用本技能:
| 属性 | 详细信息 |
|---|---|
| 主要工具 | 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。 |
| 所需权限 | 读取者(查看)或配额请求操作员(管理) |
⚠️ 始终优先使用 CLI
>
REST API 和门户可能显示误导性的“无限制”值 — 这并不表示无限容量,而是配额 API 不支持该资源类型。请始终从az quota命令开始;如果 CLI 返回BadRequest,则回退到 Azure 服务限制文档。
>
有关完整的 CLI 参考,请参阅 commands.md。
| 类型 | 可调整性 | 审批 | 示例 |
|---|---|---|---|
| 可调整 | 可通过门户/CLI/API 增加 | 通常自动批准 | VM vCPU、公共 IP、存储帐户 |
| 不可调整 | 固定限制 | 无法更改 | 订阅范围的硬性限制 |
重要提示: 申请增加配额是免费的。您只需为实际使用的资源付费,无需为配额分配付费。
⚠️ 关键点: ARM 资源类型与配额资源名称之间不存在 1:1 映射。
| 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 - 资源名称映射
预置脚本负责处理配额扩展的安装、使用查询和容量计算。请使用这些脚本,而不是手动构造命令。单次调用即可返回限制、使用量和可用容量。
| 脚本 | 用途 | 用法 |
|---|---|---|
scripts/check-quota.ps1 | 返回所有配额的限制、使用量和可用容量(若提供资源名称,则返回单个配额) | 配额检查的主脚本 |
scripts/check-quota.sh | 同上(bash 版本) | 配额检查的主脚本 |
场景: 在部署前验证配额限制和当前使用量
使用资源提供程序和区域运行脚本。单次调用返回一个表格,包含所有配额的限制、当前使用量和可用容量:
.\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
场景: 根据可用容量找到最佳的部署区域
# 定义候选区域
REGIONS=("eastus" "eastus2" "westus2" "centralus")
VM_FAMILY="standardDSv3Family"
SUBSCRIPTION_ID="<subscription-id>"
# 检查各区域的配额可用性
for region in "${REGIONS[@]}"; do
echo "=== 正在检查 $region ==="
# 获取限制
LIMIT=$(az quota show \
--resource-name $VM_FAMILY \
--scope "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Compute/locations/$region" \
--query "properties.limit.value" -o tsv)
# 获取当前使用量
USAGE=$(az quota usage show \
--resource-name $VM_FAMILY \
--scope "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Compute/locations/$region" \
--query "properties.usages.value" -o tsv)
# 计算可用量
AVAILABLE=$((LIMIT - USAGE))
echo "区域: $region | 限制: $LIMIT | 使用量: $USAGE | 可用量: $AVAILABLE"
done
📖 另请参阅: commands.md 了解完整的多区域循环脚本模式
场景: 当前配额不足以支持部署
# 申请增加 VM 配额
az quota update \
--resource-name standardDSv3Family \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus \
--limit-object value=500 \
--resource-type dedicated
# 检查请求状态
az quota request status list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus
审批流程:
📖 另请参阅: az quota update、az quota request status
场景: 了解某个区域中某个资源提供程序的所有配额
# 列出美国东部所有计算配额(表格格式)
az quota list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus \
--output table
# 列出所有网络配额
az quota list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Network/locations/eastus \
--output table
# 列出所有容器应用配额
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 服务器 — 它不可靠。 |
已知不支持的提供程序:
已确认可正常工作的提供程序:
📖 另请参阅: 故障排除指南
| 资源 | 链接 |
|---|---|
| CLI 命令参考 | commands.md - 完整语法、参数、示例 |
| Azure 配额概述 | Microsoft Learn |
| 服务限制文档 | Azure 订阅限制 |
| Azure 门户 - 我的配额 | 门户链接 |
| 申请增加配额 | 如何申请增加 |
az quota list - 发现正确的配额资源名称--output table 便于快速浏览