【发布时间】:2020-01-09 17:35:44
【问题描述】:
我正在尝试使用 python 2.7 以编程方式执行此命令:
aws configure --profile name_profile
问题是this command一执行就要求用户输入一些参数:
$ aws configure
AWS Access Key ID [****]: access_key_input
AWS Secret Access Key [****]: secret__key_input
Default region name [us-west-1]: region_optional_input
我知道如何在 python 中执行命令,通常这些行你就完成了:
def execute_command(command):
try:
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()
return output, error
except Exception as error:
return None, error
但是在这种情况下,我不知道如何模拟这个过程。我想写类似的东西
def add_profile(access_key, access_secret, name_profile, region=None)
那应该执行之前的命令并用参数回答问题。
在此先感谢大家。
【问题讨论】:
-
所以您想询问用户输入,然后使用它来配置您的 aws 连接?
-
@MasonCaiby 不,这个命令需要自动化一些其他的东西,想法是用户不需要输入任何东西,我会从数据库中获取所有数据,这个过程会在后端执行,不涉及任何前端。
-
您是否要进行大量的 aws 配置?问题是您正在尝试使用 python 脚本中的命令行工具...为什么要创建这么多配置文件?您可以使用
stdout将access_key和\n发送到cli 工具吗?
标签: python subprocess aws-cli