gpt4 book ai didi

amazon-web-services - AWS Lambda 函数正在无限地从运动流中读取记录

转载 作者:行者123 更新时间:2023-12-04 08:13:09 28 4
gpt4 key购买 nike

我有一个运动流,其中包含一个分片和一个用 Python 编写的 lambda 函数。我将 kinesis 流添加为批处理大小为 5 的事件源。我向 kinesis 添加了数百条记录,并且 lambda 函数得到了正确调用和执行。但是对于最后 3 条记录,即使函数返回成功,lambda 函数也会被无限调用。

Lambda 函数:

from __future__ import print_function

import base64
import json
import urllib2
import json

print('Loading function')

def is_valid_url(url):
try:
urllib2.urlopen(url)
print("Valid URL ...")
return True # URL Exist
except ValueError, ex:
print("URL is not formatted...")
return False # URL not well formatted
except urllib2.URLError, ex:
print("Invalid URL ...")
return False # URL don't seem to be alive


def lambda_handler(event, context):
for record in event['Records']:
# Kinesis data is base64 encoded so decode here
payload = base64.b64decode(record['kinesis']['data'])
params = json.loads(payload)
print("Decoded payload: " + payload + " : " + str(is_valid_url(params['url'])) + " : " + str(len(event['Records'])))
return 'Successfully processed {} records.'.format(len(event['Records']))

````

当我查看云监视日志时

  START RequestId: d6033244-1c43-40ea-8886-f38b8c48daa3 Version:   $LATEST 
Loading function
Valid URL ...
Decoded payload: { "url": "https://google.com" }
Valid URL ...
Decoded payload: { "url": "https://google.com" }
Valid URL ...
Decoded payload: { "url": "https://google.com" }
Valid URL ...
Decoded payload: { "url": "https://google.com" }
END RequestId: d6033244-1c43-40ea-8886-f38b8c48daa3
REPORT RequestId: d6033244-1c43-40ea-8886-f38b8c48daa3 Duration: 3003.00 ms Billed Duration: 3000 ms Memory Size: 128 MB Max Memory Used: 10 MB
2016-03-04T17:32:01.030Z d6033244-1c43-40ea-8886-f38b8c48daa3 Task timed out after 3.00 seconds

我无法弄清楚 lambda 函数发生了什么。有人可以对此错误提供一些见解。

最佳答案

由于您的函数超时,Lambda 将运行视为错误。 Kinesis 的错误处理策略是重试记录,直到它脱离 Trim Horizo​​n(通常为 24 小时),因此您的函数将重试 24 小时或直到它不超时。

根据您发布的内容,我无法判断您的函数超时的原因。一个快速的解决方法是简单地增加 Lambda 控制台上的超时值(在“配置”选项卡上的“高级”下)

关于amazon-web-services - AWS Lambda 函数正在无限地从运动流中读取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35803253/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com