azure 如何在python中从变量而不是从那些行运行命令?

tzxcd3kk  于 2022-12-30  发布在  Python
关注(0)|答案(1)|浏览(74)

我有以下命令来运行az aks命令:

from azure.cli.core import get_default_cli
az_cli = get_default_cli()
res = az_cli.invoke(['login', '--service-principal', '-u', client_id, '-p', client_secret,'--tenant',tenant_id])
az_cli.invoke(['aks','command','invoke','--resource-group',resourcegroup,'--name',clustername,'--command','kubectl apply -f',outfile_final])

我想如下,

azcmd = "az login --service-principal -u " + client_id + " -p " + client_secret + " --tenant " + tenant_id

**res = az_cli.invoke([azcmd])**

但上述脚本给出错误,如参数应为列表或元组,第二个错误:

是否有任何方法可以运行invoke并从变量获取输入。
Edit1:我正在应用部署文件,如下所示:

namespace = "kubectl apply -f abc.yaml"
xxls0lw8

xxls0lw81#

    • 我在我的环境中尝试,得到以下结果:**

最初我尝试使用相同的命令,并得到相同的错误:

我在本地计算机上安装了azure-cli模块,也没有使用-

res = az_cli.invoke([azcmd])

您可以在([])中添加您的**azcmd**

from  azure.cli.core  import  get_default_cli
az_cli = get_default_cli()
cmd=(['login', '--service-principal', '-u', client_id, '-p', client_secret,'--tenant',tenant_id])

res=az_cli.invoke(cmd)

有没有办法运行调用并从变量中获取输入。
有了上面的代码,我可以调用从变量获取输入.

    • 控制台:**

相关问题