我对Azure-Python的看法对于Azure来说并不高。PowerShell中的一行代码需要10行Python代码。这与python应该做的正好相反。
因此,我的想法是创建python包,它附带了一个包含几个模板.ps1脚本的目录。您将定义一些变量,如vmname、resourcegroup、location等.将这些内容注入.ps1模板,然后从REPL调用命令。
现在,我很难使用子进程模块来保持PS打开,直到我告诉它关闭为止。就目前情况而言,我需要包括
login-azurerm并在运行任何命令之前进行身份验证。这样不行。我想解决这个问题,但坦率地说,我现在想知道前提是否是一个好主意。
任何输入都非常感谢!
发布于 2016-09-13 18:51:56
@RobTruxal,Azure的新CLI将在Python中发布,不久将作为预览版发布。您已经可以从github帐户:https://github.com/Azure/azure-cli尝试它了。
用于Python的Azure SDK不应该模仿Powershell cmdlet,而应该是语言SDK (比如C#、Java、Ruby等等)。
如果您对Python本身有任何建议/评论,请立即填写有关问题跟踪器的一个问题:https://github.com/Azure/azure-sdk-for-python/issues。
(FYI,我是微软Python回购公司的所有者)
发布于 2016-09-13 09:51:48
@RobTruxal,在Python中调用PowerShell的一种可行方法似乎是使用模块subprocess,例如下面的代码作为引用。
import subprocess
subprocess.call(["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe", "your-script.ps1", "arguments"])您需要编写包含login-azurerm命令的powershell脚本,并与运行python脚本的cmd进行交互。
或者您可以在AzureCLI中选择跨平台的node.js作为管理Azure资源的命令行工具。
希望能帮上忙。
https://stackoverflow.com/questions/39400319
复制相似问题