AWS Lambda boto3:按启动时间过滤实例 = 今天

T. *_*ser 2 python amazon-ec2 amazon-web-services boto3 aws-lambda

我正在尝试通过 AWS Lambda 自动备份我的 EC2 实例。

我使用了这两个脚本,它们工作得很好。 https://gist.github.com/bkozora/724e01903a9ad481d21e https://gist.github.com/bkozora/d4f1cf0e5cf26acdd377

但是我想添加脚本仅删除或备份今天已启动并具有备份标签的实例的功能。

我想我可以通过按 Launch Time = (date of today) 额外过滤实例列表来实现这一点,然后在午夜之前执行过滤列表的函数。

可悲的是,我不知道实现这一目标的语法是什么样的,因为我对此完全陌生。

但只是为了进一步澄清,代码的上述部分应该是这样的:

#....

var date = datetime.datetime.now();

Filters=[
            {'Name': 'tag-key', 'Values': ['Backup']},
            {'Name': 'instance.launch_time', 'Values': [date]}        
        ]

#....
#(and then the code to make a backup of every instance in the filtered list.
Run Code Online (Sandbox Code Playgroud)

在启动时间过滤列表中找不到任何内容,所以希望有人可以帮助我。

hel*_*loV 6

对于launch-time,您可以提供通配符以匹配给定日期内的任何时间。如果今天是Dec 13th 2017,您可以指定2017-12-13*

import boto3
from datetime import date

date_filter = date.isoformat(date.today()) + '*'
ec2 = boto3.resource('ec2')

instances = ec2.instances.filter(Filters=[{'Name':'launch-time', 'Values':[date_filter]}])
for instance in instances:
   print instance.instance_id
Run Code Online (Sandbox Code Playgroud)