我想编写一个脚本,该脚本使用python boto 3从YAML文件中获取AWS账户的值,并在AWS组织下创建多个账户。 请找到我要执行的以下步骤: 步骤1:我在YAML文件中具有以下AWS账户值列表:(config.yaml)
Install-Package System.Net.Sockets
第2步::编写python脚本以自动执行该过程
Name:
test1
test2
Email:
test1@gmail.com
test2@gmail.com
任何人都可以帮忙,如何在下面的代码中加载YAML值?
我只能使用以下简单脚本创建一个帐户:
import yaml
with open("config.yml", 'r') as ymlfile:
account = yaml.safe_load(ymlfile)
for section in cfg:
print(section)
print(account['Name'])
print(account['Email'])
答案 0 :(得分:1)
从我的角度来看,您的配置文件看起来不正确。拥有两个“平行”列表很少是一个好主意(我想这是您的意图,即使没有破折号也是如此)。我会给它这样的结构:
accounts:
- name: test1
email: test1@gmail.com
- name: test2
email: test2@gmail.com
并以类似于以下的方式阅读它:
import yaml
with open("config.yml", 'r') as ymlfile:
config = yaml.safe_load(ymlfile)
accounts = config['accounts']
for account in accounts:
print()
print(account['name'])
print(account['email'])
也许您需要做这样的事情?
# ...
for account in accounts:
response = client.create_account(
AccountName = account['name'],
Email = account['email'])
(boto3具有非Python的命名约定!)