Amazon web services 用于EC2 SSH安全检查的AWS Lambda函数

Amazon web services 用于EC2 SSH安全检查的AWS Lambda函数,amazon-web-services,aws-lambda,boto3,Amazon Web Services,Aws Lambda,Boto3,AWS Lambda函数未给出正确的值 导入系统 进口boto3 从boto3导入ec2 连接=boto3.客户端('ec2',区域名称='sa-east-1') sg=连接。描述安全组() #listOfInstances=“” #messages=“以下实例的端口22已打开” def GETAG(实例ID): 保留=连接。获取所有实例(过滤器={'instance\u id':instanceId}) 对于保留中的r: 对于r实例中的i: 返回i.tags['Name'] def lambd

AWS Lambda函数未给出正确的值

导入系统 进口boto3 从boto3导入ec2 连接=boto3.客户端('ec2',区域名称='sa-east-1') sg=连接。描述安全组() #listOfInstances=“” #messages=“以下实例的端口22已打开” def GETAG(实例ID): 保留=连接。获取所有实例(过滤器={'instance\u id':instanceId}) 对于保留中的r: 对于r实例中的i: 返回i.tags['Name'] def lambda_处理程序(事件、上下文): 尝试: 打印(sg) 对于sg中的securityGroup: 对于securityGroup.rules中的规则: 全局实例ID; 如果str(rule.grants)中的(rule.from_-port=='22'和rule.to_-port=='22')和'0.0.0.0/0': 对于securityGroup.instances()中的instanceid: instanceId=str(instanceId) listOfInstances++=“实例名称:”+getTag(instanceId.split(“:”)[1])+“\t状态:”+instanceId.State+“\t安全组:“+SecurityGroup.Name+”\n” 打印(状态列表) 除: 打印(“发生了一些错误”)
期望显示对所有人开放的端口22,但未显示正确的值

请详细说明并正确格式化代码。我想确定对所有人开放SSH安全组的AWS EC2实例。但是上面的代码没有给出预期的输出。无法理解代码/逻辑中的错误在哪里“未显示正确值”是什么意思?此外,您的代码似乎没有处理“所有端口”都打开(而不仅仅是端口22)的情况。import boto3 protocol=“ssh”port=“22”client=boto3.client('ec2',region\u name=“sa-east-1”)ec2=client.description\u instances()def lambda\u handler(事件,上下文):response=client.description\u security\u组(过滤器=[{'Name':'ip permission.from port','Values':['22'],},{'Name':'ip permission.to port','Values':['22'],},{'Name':'ip permission.cidr','Values':['0.0.0/0'],},,)返回(响应)