Ошибка лямбда-функции AWS: невозможно импортировать модуль 'lambda_function': невозможно импортировать часовой пояс имени (импорт модуля даты и времени) - PullRequest
1 голос
/ 11 июля 2019

Я написал очень простой скрипт на 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...