Python 2.7 AWS IAM Python脚本-将新用户添加到现有组

Python 2.7 AWS IAM Python脚本-将新用户添加到现有组,python-2.7,amazon-web-services,aws-sdk,boto3,Python 2.7,Amazon Web Services,Aws Sdk,Boto3,上下文:我有一个Python脚本,可以创建用户,决定是否进行编程访问,列出用户的当前组我的问题是我希望将新用户添加到现有的显示组之一 我已尝试以下代码,但出现以下错误: python ec2-play.py 请输入您的电子邮件地址:1@1.com 是否需要编程访问?(是/否):否 仅控制台访问 […组列表…] 1:短期管理 2:aws管理员 3:aws管理员mfa 4:aws培训 请选择一个组号:4 您选择了选项4:arn:aws:iam::XXXXXXXXXXXXX:group/aws tra

上下文:我有一个Python脚本,可以创建用户,决定是否进行编程访问,列出用户的当前组我的问题是我希望将新用户添加到现有的显示组之一

我已尝试以下代码,但出现以下错误:

python ec2-play.py
请输入您的电子邮件地址:1@1.com
是否需要编程访问?(是/否):否
仅控制台访问
[…组列表…]
1:短期管理
2:aws管理员
3:aws管理员mfa
4:aws培训
请选择一个组号:4
您选择了选项4:arn:aws:iam::XXXXXXXXXXXXX:group/aws training
回溯(最近一次呼叫最后一次):
文件“ec2 play.py”,第41行,在
final=grp.将用户添加到组(GroupName=g,UserName=mail)
文件“/opt/axe/local/python/local/lib/python2.7/site packages/botocore/client.py”,第314行,在api调用中
返回self.\u make\u api\u调用(操作名称,kwargs)
文件“/opt/axe/local/python/local/lib/python2.7/site packages/botocore/client.py”,第612行,在make\u api\u调用中
引发错误\u类(解析的\u响应、操作\u名称)
botocore.errorfactory.NoTouchEntityException:调用AddUserToGroup操作时发生错误(NoTouchEntity):找不到名为r的组。
这是生成该错误输出的代码:

导入boto3
iam=bot3.resource('iam')
iam_keys=bot3.resource('iam')
group_list=boto3.client('iam')
附加组=两个客户端('iam')
grp=两个客户(“iam”)
邮件=原始输入(“请输入您的电子邮件地址:”)
响应=iam.create\u用户(用户名=邮件)
prog=原始输入(“您是否需要编程访问?(y/n):”)
如果prog==“y”:
iam密钥。创建访问密钥(用户名=邮件)
打印(“确保您的机器上安装了awscli”)
elif prog==“n”:
打印(“仅控制台访问”)
列表=组列表。列表组()
组=列表[“组”]
打印(组)
索引=1
对于组中的组:
打印(“%d:%s%”(索引,组[“GroupName]”)
指数+=1
option=int(输入(“请选择组号:”)
arn=组[选项1][“arn”]
打印(“您选择了选项%d:%s”%(选项,arn))
var=“%s”%(arn)
变量拆分(“:组/”[1]
g=var[1]
final=grp.将用户添加到组(GroupName=g,UserName=mail)
打印(“用户已添加到您选择的%s组”%(g))
预期行为:新用户附加到所选组。

实际行为:Python崩溃,说找不到组r。

您已经计算出选择了哪个组-这是
组列表中的
选项-1
第个元素。您可以按常规方式检索其任何属性,例如:

group = groups[option-1]
group_name = group["GroupName"]
group_arn = group["Arn"]
不要计算和使用
g
,只需使用
groups[option-1][“GroupName”]
作为组名(或上文计算的
groupu name

更重要的是,您需要学习如何调试代码。一种方法是在进行过程中打印出值(例如var和g),并将它们与您期望看到的值进行比较。源代码级调试器是另一种方式