AWS Lambda Python описать исключение - PullRequest
2 голосов
/ 14 марта 2019

рабочий код:

import boto3
def lambda_handler(event, context):
    ec2 = boto3.client('ec2')

    # Get list of regions
    regions = ec2.describe_regions().get('Regions',[] )

    # Iterate over regions
    for region in regions:
        print("*************** Checking region  --   %s " % region['RegionName'])
        reg = region['RegionName']
        print(reg)

Выход:

*************** Checking region  --   eu-north-1 
eu-north-1
*************** Checking region  --   ap-south-1 
ap-south-1
*************** Checking region  --   eu-west-3 
eu-west-3
*************** Checking region  --   eu-west-2 
eu-west-2
*************** Checking region  --   eu-west-1

это итерация и отображение всех регионов, но мой код просто завершает свою первую итерацию после того, как я попытаюсь описать детали ресурса.

import boto3
def lambda_handler(event, context):
    ec2 = boto3.client('ec2')

    # Get list of regions
    regions = ec2.describe_regions().get('Regions',[] )

    # Iterate over regions
    for region in regions:
        print("*************** Checking region  --   %s " % region['RegionName'])
        reg = region['RegionName']
        print(reg)
        print ("+++++++++++++ Starting EC2 Instances now -----------------") 
        client = boto3.client('ec2', region_name=reg)
        response = client.describe_instances()

ошибка вывода:

Response:
{
  "errorMessage": "2019-03-14T18:08:00.104Z 5fb67a9a-3bf9-40e3-ad56 Task timed out after 3.00 seconds"
}

Request ID:
"5fb67a9a-3bf9-40e3-ad56"

Function Logs:
START RequestId: 5fb67a9a-3bf9-40e3-ad56 Version: $LATEST
*************** Checking region  --   eu-north-1 
eu-north-1
+++++++++++++ Starting EC2 Instances now -----------------
*************** Checking region  --   ap-south-1 
ap-south-1
+++++++++++++ Starting EC2 Instances now -----------------
END RequestId: 5fb67a9a-3bf9-40e3-ad56
REPORT RequestId: 5fb67a9a-3bf9-40e3-ad56-Duration: 3003.21 ms  Billed Duration: 3000 ms    Memory Size: 128 MB Max Memory Used: 79 MB  
2019-03-14T18:08:00.104Z 5fb67a9a-3bf9-40e3-ad56-Task timed out after 3.00 seconds

Я дал все разрешения лямбда-роли для доступа к ресурсам. Может кто-нибудь помочь мне, что я делаю неправильно и как узнать в чем ошибка?

1 Ответ

1 голос
/ 14 марта 2019

Ваш код успешно повторил eu-north-1 и ap-south-1, но затем истек тайм-аут после заданного по умолчанию времени ожидания лямбда в 3 секунды. Вам нужно либо ускорить выполнение кода, либо увеличить время ожидания Lambda.

  1. Перейти к вашей Лямбда-консоли
  2. Найдите свою функцию и откройте ее
  3. Прокрутите вниз и найдите Тайм-аут в разделе Основные настройки
  4. Продлить тайм-аут (15 минут - текущий максимум)
  5. Нажмите Сохранить вверху
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...