添加到 Lambda Layer 的 AT Protocol SDK (atproto) 不起作用

问题描述 投票:0回答:1

我已经创建了一个包含 Amazon linux 2023 上所有库的 zip 文件,并将其上传到 LambdaLayer。

mkdir python

pip3.11 install atproto -t python

zip -r python.zip python

然后我将该 zip 文件上传到 LambdaLayer。 然后我创建了一个 Lambda,指定了一个 Layer,并执行了下面的代码,但它因超时而终止。

from atproto import Client, client_utils


def lambda_handler(event, context):
    print('test')
    client = Client()
    profile = client.login('MyBlueskyID', 'MyBlueskyPassword')
    print('Welcome,', profile.display_name)

    text = client_utils.TextBuilder().text('テストです')
    post = client.send_post(text)
    client.like(post.uri, post.cid)
Status: Failed
Test Event Name: posttest

Response:
{
  "errorMessage": "2024-11-17T01:58:20.823Z xxxx-xxxx-xxxx Task timed out after 153.10 seconds"
}

Function Logs:
INIT_REPORT Init Duration: 10013.64 ms  Phase: init Status: timeout
2024-11-17T01:58:20.823Z xxxx-xxxx-xxxx Task timed out after 153.10 seconds

END RequestId: xxxx-xxxx-xxxx
REPORT RequestId: xxxx-xxxx-xxxx    Duration: 153099.68 ms  Billed Duration: 150000 ms  Memory Size: 128 MB Max Memory Used: 128 MB

Request ID: xxxx-xxxx-xxxx

我将超时时间设置为150秒,但情况还是一样。

我使用Python版本3.11。

这是什么原因造成的,如何解决?

我认为我长期用于创建层的 Amazon linux 配置存在问题,因此我从创建 EC2 实例开始,但这并没有解决问题。 并添加了一个打印函数来查看它在源代码中的何处停止,但它从未输出到 CloudWatch。

我将Python运行时更改为3.12,但结果没有改变。

python-3.x lambda aws-lambda-layers at-protocol
1个回答
0
投票

这个问题已经解决了。 我将内存设置设置为 256 MB,这样该过程可以在几秒钟内完成。 吸取的教训是,我们应该从检查基本设置开始。

© www.soinside.com 2019 - 2024. All rights reserved.