You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda中DynamoDB FilterExpression失效问题求助

问题排查与解决步骤

1. 先捕获并返回具体异常信息

当前代码的except块仅返回通用错误提示,无法定位具体异常原因。先修改代码,把异常详情返回(调试完成后可移除该信息):

except Exception as e:
    return {
        "statusCode": 500,
        "body": json.dumps({"error": "Failed to retrieve event logs.", "details": str(e)})
    }

调用接口后就能看到具体错误,比如依赖缺失、资源初始化错误等关键信息。

2. 检查Attr类是否正确导入

如果报错提示NameError: name 'Attr' is not defined,说明未导入DynamoDB条件表达式类,需在代码顶部添加:

from boto3.dynamodb.conditions import Attr

3. 验证DynamoDB资源初始化是否正确

确保dynamodb_resource已正确初始化,且指定的区域与你的DynamoDB表所在区域完全一致:

import boto3
dynamodb_resource = boto3.resource('dynamodb', region_name='你的表所在区域,如us-east-1')

区域不匹配会导致无法连接目标表,触发异常。

4. 检查表名拼写是否完全一致

确认代码中customer-event-logs的大小写、连字符与DynamoDB控制台中的表名完全一致——DynamoDB表名是大小写敏感的。

5. 验证权限配置的有效性

虽然你提到已配置全权限,但可再次确认Lambda的IAM角色策略中,是否包含针对customer-event-logs表的dynamodb:Scan权限,且资源ARN是否正确:

{
    "Effect": "Allow",
    "Action": "dynamodb:Scan",
    "Resource": "arn:aws:dynamodb:你的区域:你的账号ID:table/customer-event-logs"
}

内容的提问来源于stack exchange,提问作者A. Arslan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 12:58:14