【问题标题】:lambda python dynamodb write gets timeout errorlambda python dynamodb write获取超时错误
【发布时间】:2017-05-17 20:32:56
【问题描述】:

我一直在尝试完成我的第一个关于 lambda dynamodb 连接的教程,但遇到了超时错误。

在 lambda 控制台中,我有以下代码:

from __future__ import print_function
import json
import boto3

print('Loading function')

def lambda_handler(event, context):

    dynamodb = boto3.resource('dynamodb', region_name='us-east-1', endpoint_url="http://localhost:8000")
    print('Dynamodb loaded')
    pages_table = dynamodb.Table('Pages')
    print('Pages table referenced')

    for item in event:
        print('Item: {}'.format(item))
        response = pages_table.put_item( Item=item)
        print('Response: {}'.format(response))

    return "hi"

我已经通过 dynamodb 控制台创建了 Pages 表。

当我从 lambda 控制台测试运行 lambda 函数时,我得到:

START RequestId: 4008f77f-3b3e-11e7-ad79-0713f3bd7f4e Version: $LATEST
Dynamodb loaded
Pages table referenced
Item: {'UID': 1, 'id': 1, 'label': 'Original', 'snippet': 'Style', 'type': 'item', '$$hashKey': 'object:4'}
END RequestId: 4008f77f-3b3e-11e7-ad79-0713f3bd7f4e
REPORT RequestId: 4008f77f-3b3e-11e7-ad79-0713f3bd7f4e  Duration: 3002.30 ms    
Billed Duration: 3000 ms    Memory Size: 128 MB Max Memory Used: 36 MB  
2017-05-17T20:20:24.159Z 4008f77f-3b3e-11e7-ad79-0713f3bd7f4e Task timed out after 3.00 seconds

我的调试打印语句表明第一个pages_table.put_item() 是发生超时的地方,因为没有后续打印响应。 (我的 Item 数组中有一些元素用于测试)

当我检查我的 dynamodb 表时,表中没有数据,即使是几天后。

我认为我已经准确地遵循了 AWS 文档中的所有步骤,以创建可通过 lambda 访问的 dynamodb(IAM 权限、dynamodb 表键等),但在搜索其他类似超时体验的实例时却遇到了困难。我能找到的最接近的东西是参考 VPC 配置,但这对我来说似乎没有意义,因为教程中没有提到 VPC 设置。此外,当我深入 VPC 控制台时,那里的设置似乎是默认设置。

我错过了什么?

【问题讨论】:

    标签: python lambda timeout amazon-dynamodb


    【解决方案1】:

    DynamoDB 的端点 URL 似乎不正确:

    endpoint_url="http://localhost:8000"
    

    这仅用于 DynamoDB 的本地测试。从 Lambda 函数中,us-east-1 的端点需要是:

    endpoint_url="https://dynamodb.us-east-1.amazonaws.com"
    

    根据AWS Regions and Endpoints 文档。

    【讨论】:

    • 谢谢。这给我带来了一个不相关的错误,因此我将其标记为已回答,因为我不再超时。
    • 嗨@Doug,你能分享更多关于你所面临的错误吗?我得到了同样的错误:(
    猜你喜欢
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多