有没有一种方法可以使用Azure Python SDK或API获取可以在Azure帐户上创建的最大虚拟机数量?

问题描述

我正在尝试制作一个python程序,该程序从我的帐户中获取当前数量的虚拟机,以及每个帐户或每个区域可以创建的最大VM数量,以查看可以创建多少个新VM。 我使用ComputeManagementClient来获取当前的VM,但是在文档(https://docs.microsoft.com/en-us/python/api/overview/azure/?view=azure-python)中没有找到有关限制VM数量方法的任何信息。有提示或想法吗?

解决方法

Azure REST API:

您可以使用Azure Quota REST API (Preview)以编程方式查询和管理service limits (quota)资源。 Quota - List API的响应也可以用来提交配额更新请求。请注意,除了支持REST API外,配额管理还提供多种界面和语言。

Azure Python SDK:

通过UsageOperations class在Python SDK中提供了相同的功能。 list方法在指定的位置获取当前计算资源使用情况信息以及订阅下计算资源的限制。

因此,您应该可以执行以下操作:

for r in compute_client.usage.list(<location>):
       print(
           f"\nName: {r.name.value}\nCurrent Value: {r.current_value}\nLimit: {r.limit}")

将产生如下结果:

Name: availabilitySets
Current Value: 1
Limit: 2500

Name: cores
Current Value: 20
Limit: 100

Name: virtualMachines
Current Value: 11
Limit: 25000

Name: virtualMachineScaleSets
Current Value: 0
Limit: 2500

..
..