Я написал очень простой скрипт на python для удаления снимков EBS, которые были автоматически созданы другой лямбда-функцией, которую я написал (Все сделано в консоли Lambda). Я тестирую его, чтобы увидеть, удалит ли он снимки, добавленные за последний день.
При тестировании моего кода я получаю следующую ошибку:
{
"errorMessage": "Unable to import module 'lambda_function'"
}
Unable to import module 'lambda_function': cannot import name timezone
Я проверил, может ли это быть проблемой, связанной с именем файла, но это не было вероятной причиной. Похоже, это как-то связано с «datetime». Есть ли способ исправить эту проблему?
Код ниже:
import boto3
from datetime import datetime, timezone, timedelta
ec2=boto3.resource('ec2') #resource, higher level
snapshots = ec2.snapshots.filter(OwnerIds=['self']) #all snapshots owned by me, returns list
def lambda_handler(event, context):
for i in snapshots:#for each snapshot
starttime=i.start_time #timestamp when snapshot was initiated
deletetime=datetime.now(tz=timezone.utc)-timedelta(days=1) #Correct time in UTC timezone - 1 days
if deletetime>starttime:#if delete time is more than start time (more than a day)
i.delete() #call method to delete that snapshot
print 'Snapshot with Id = {} is deleted'.format(i.snapshot_id) #pull ID that was deleted