Python 3.x 您是否可以检查Azure CLI在引擎盖下进行了哪些API调用?
我正在使用Python SDK for Azure,但我可以看到文档中缺少适当的信息和示例。我知道Azure CLI构建在Azure的Python SDK之上,因此我想知道是否有任何方法可以让您知道在执行例如:az vm show时Python函数在调用什么 通过这种方式,我可以轻松地使用Azure CLI构建命令并将其转换为Python代码 谢谢大家! 这是我的解决方法:Python 3.x 您是否可以检查Azure CLI在引擎盖下进行了哪些API调用?,python-3.x,azure,azure-cli,Python 3.x,Azure,Azure Cli,我正在使用Python SDK for Azure,但我可以看到文档中缺少适当的信息和示例。我知道Azure CLI构建在Azure的Python SDK之上,因此我想知道是否有任何方法可以让您知道在执行例如:az vm show时Python函数在调用什么 通过这种方式,我可以轻松地使用Azure CLI构建命令并将其转换为Python代码 谢谢大家! 这是我的解决方法: from azure.common.credentials import ServicePrincipalCredenti
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.compute import ComputeManagementClient
Subscription_Id = "xxxxxxx"
Tenant_Id = "xxxxxxx"
Client_Id = "xxxxxxx"
Secret = "xxxxxxx"
credential = ServicePrincipalCredentials(
client_id=Client_Id,
secret=Secret,
tenant=Tenant_Id
)
client = ComputeManagementClient(credential, Subscription_Id)
vmDetails = client.virtual_machines.get(resource_group_name='xxxxxxx', vm_name='xxxxxxx')
print(vmDetails)
您可以看到Python进程发布的底层API 要做到这一点,您可以使用fiddler或任何能够捕获流量的客户端应用程序 对于Fiddler,您可以从 您将启用解密HTTPS流量,因为通过CLI到Azure的所有流量都是通过HTTPS完成的。有关更多信息,请参阅 运行中的Fiddler现在将充当代理并捕获所有网络流量 但是,您将无法在代理上安装Fiddler的情况下直接运行Azure CLI。您必须将Fiddler的证书添加到CLI的证书中 小提琴手证书可在以下网址找到:http://localhost:8888. 您必须导出证书并将其转换为PEM格式。导出的格式为.CRT格式 您可以在本地执行上述操作,也可以使用联机工具执行此示例: 获得PEM证书后-将此证书的内容附加到CLI使用的证书文件中: C:\ProgramFilesx86\Microsoft SDK\Azure\CLI2\Lib\site packages\certifi\cacert.pem 现在,您将能够拦截python进程发出的流量
有关这方面的更多信息已记录在案嗨,Pamela,谢谢你的回答,但它并没有为我的问题提供真正的答案。@drycon43没有将CLI直接转换为Python的方法。您需要找到Python的azure函数,这显示了azure虚拟机库。有关更多参考信息,请参阅。@drycon43-Python进程使用必要的头和请求体发出API请求。API端点将是核心,也是附加值。上述方法将帮助您获得API。
<Original cacert.pem>
-----BEGIN CERTIFICATE-----
<Your proxy's certificate here>
-----END CERTIFICATE-----