工作代码:
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
我已授予lambda角色所有访问权限。 谁能帮助我我在做什么错以及如何知道错误所在?
答案 0 :(得分:1)
您的代码成功地迭代了eu-north-1
和ap-south-1
,但是在默认的Lambda超时3秒后超时。您需要使代码运行更快或延长Lambda超时。