我正在使用适用于 Azure 的 Python SDK,但我可以看到文档缺乏正确的信息和示例。我知道 Azure CLI 是在 Azure 的 Python SDK 之上构建的,因此我想知道是否有任何方法可以知道在执行以下操作时正在调用什么 Python 函数:“az vm show”
.
这样,我就可以使用 Azure CLI 轻松构建命令并将其转换为 Python 代码。
谢谢!
最佳答案
您可以看到Python进程发出的底层API。
为此,您可以使用 fiddler 或任何可以捕获流量的客户端应用程序。
对于 Fiddler,您可以从 here 下载并安装
您将启用解密 HTTPS 流量,因为通过 CLI 到 Azure 的所有流量都是通过 HTTPs 完成的。请参阅this了解更多信息
运行时的 Fiddler 现在将充当代理并捕获所有网络流量。
但是,您将无法在 Fiddler(代理)就位的情况下直接运行 Azure CLI。您必须将 Fiddler 的证书添加到 CLI 的证书中。
fiddler 证书可以在 http://localhost:8888 找到。您必须导出证书并将其转换为 PEM 格式。导出的格式为.CRT
您可以像提到的那样在本地执行此操作 here或使用在线工具执行此示例:https://www.sslshopper.com/ssl-converter.html
获得 PEM 证书后 - 将此内容附加到 CLI 使用的证书文件中:
C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem
<Original cacert.pem>
-----BEGIN CERTIFICATE-----
<Your proxy's certificate here>
-----END CERTIFICATE-----
现在您将能够拦截从 python 进程发出的流量。
有关这方面的更多信息记录在here中
关于python-3.x - 无论如何,您是否可以检查 Azure CLI 在后台执行哪些 API 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63242173/
相关文章:
reactjs - react : Fix missing dependency warning u
javascript - Firebase 和 VueJS : Uncaught (in promi
laravel - 如何在 Laravel 中显示带有法语符号的验证消息?
html - 网络套件 : FreeMarker/BFO Images Cutting Off at
python - Keras - 数据集的数据生成器太大而无法放入内存
php - 使用 Laravel 的 Eloquent 将数据发送到数据库的问题