Python 3.6 Lambda调用DynamoDB时出现语法错误求助
问题分析与修复
嘿,这问题其实很直观——你的代码里有个未闭合的括号,导致Python解释器无法正确解析代码结构,才会报语法错误。
具体问题点
看这一行代码:
response = dynamoTable.query(KeyConditionExpression=Key(element).eq(asset)
你调用dynamoTable.query()方法时,只写了开头的(,但没有在末尾加上闭合的)。Key(element).eq(asset)是传给query的参数,整个方法调用需要用括号包裹完整,缺少这个闭合括号会让Python误以为代码还没写完,进而在后续的return行触发语法错误(其实根源在前面的行)。
修复后的代码
把括号补上就可以了:
def getAssetExistance(asset, element, table): dynamoTable = dynamo.Table(table) response = dynamoTable.query(KeyConditionExpression=Key(element).eq(asset)) return bool(response)
另外小提醒:如果dynamo是你之前初始化的boto3客户端/资源,要确保它已经正确导入和配置,不过当前报错是语法问题,先解决这个括号问题应该就能正常运行了。
内容的提问来源于stack exchange,提问作者snovosad54
相关产品推荐
相关产品推荐

