【发布时间】:2020-10-30 02:45:57
【问题描述】:
我是 python 和 boto3 的新手。
我需要使用 python 获取以下详细信息,我正在使用 bash 获取这些详细信息。
#!/bin/bash
aws ec2 describe-instances --query "Reservations[*].Instances[*].[Tags[?Key=='Name']|[0].Value,InstanceId,InstanceType,Platform,State.Name,PrivateIpAddress,PublicIpAddress,Placement.AvailabilityZone]" --output text --region me-south-1 >> aws_ec2_details_me_south_1.xlsx
aws elbv2 describe-load-balancers --query "LoadBalancers[*].[LoadBalancerArn,DNSName,LoadBalancerName,Type,Scheme,State.Code]" --output text --region me-south-1 >> aws_elb_details_me_south_1.xlsx
aws autoscaling describe-auto-scaling-groups --query "AutoScalingGroups[*].[AutoScalingGroupName,AutoScalingGroupARN,MinSize,MaxSize,DesiredCapacity,DefaultCooldown]" --output text --region me-south-1 >> aws_autoscaling_me_south_1.xlsx
aws ec2 describe-addresses --query "Addresses[*].[Tags[?Key=='Name']|[0].Value,PublicIp,PrivateIpAddress]" --output text --region me-south-1 >> aws_eip_list_me_south_1.xlsx
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier,DBInstanceClass,Engine,EngineVersion,DBInstanceStatus,MasterUsername,Endpoint.Address,MultiAZ,AllocatedStorage,PreferredBackupWindow,BackupRetentionPeriod,StorageEncrypted]" --output text --region me-south-1 >> aws_rds_details_me_south_1.xlsx
我在这里做了一些示例 python 脚本,
import boto3
session = boto3.Session(profile_name='default',region_name='me-south-1')
ec2_des = session.client('ec2')
resp = ec2_des.describe_instances(
Filters = [ {
'Name' : 'instance-state-name',
'Values' : [ 'running' ]
} ]
)
for i in resp:
print i(instance-id)
print (i.image-id)
遇到错误
Traceback (most recent call last):
File "t4.py", line 11, in <module>
print (i.instance-id)
AttributeError: 'str' object has no attribute 'instance'
请帮助我完成这个,理解
我们有一个 80 多个 AWS 账户,主要议程是运行脚本一次从 80 多个账户中获取数据。
【问题讨论】:
标签: python python-3.x amazon-web-services amazon-ec2 boto3