aws ec2 description -snapshots——owner-ids $AWS_ACCOUNT_ID——query"快照(? (StartTime<="德勤美元")]。[SnapshotId]";——输出文本| tr 't''n' | sort
我有这个shell脚本,我想把它转换成python。我试着看一下boto3文档,得出了这个
client = boto3.client('ec2')
client.describe_snapshots(OwnerIds = [os.environ['AWS_ACCOUNT_ID']], )
但是我不知道如何在python中改变——query标签。我在文档中找不到。我遗漏了什么?
您应该忽略--query
部分及其后的所有内容,并在Python中处理。
ec2_client = boto3.client('ec2')
response = ec2_client.describe_snapshots(OwnerIds = ['self'])
它将返回如下内容:
{
'NextToken': '',
'Snapshots': [
{
'Description': 'This is my snapshot.',
'OwnerId': '012345678910',
'Progress': '100%',
'SnapshotId': 'snap-1234567890abcdef0',
'StartTime': datetime(2014, 2, 28, 21, 28, 32, 4, 59, 0),
'State': 'completed',
'VolumeId': 'vol-049df61146c4d7901',
'VolumeSize': 8,
},
],
'ResponseMetadata': {
'...': '...',
},
}
因此,您可以使用response['Snapshots']
来提取您想要的结果,例如:
for snapshot in response['Snapshots']:
if snapshot['StartTime'] < datetime(2022, 6, 1):
print(snapshot['SnapshotId'])
在这一点上它真的都是Python。