AWS Lambda error (module initialization error: name 'dynamodb' is not defined) with dynamodb

AWS Lambda error (module initialization error: name 'dynamodb' is not defined) with dynamodb

我正在尝试 运行 一个 lambda 函数,它接受一个关于 AWS IoT Dash 按钮的 attribute,它的 serialNumber,并在 DynamoDB 中查询它。因此,它应该打印整行。

这是代码--->

from __future__ import print_function
import boto3
import json
import decimal
from boto3.dynamodb.conditions import Key, Attr

def lambda_handler(event, context):
print ('Init 1Push_Care_DATAprint')
print (event)
serialNumber = event['serialNumber']

class DecimalEncoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, decimal.Decimal):
            if o % 1 > 0:
                return float(o)
        else:
            return int(o)
return super(DecimalEncoder, self).default(o)

dynamodb = boto3.resource('dynamodb',region_name='us-east-1')

table = dynamodb.Table('1Push_Care_USERinfo')

response = table.query(
KeyConditionExpression=Key('Device_ID').eq('serialNumber')
)
items = response['Items']
print(items)

这是我不断收到的错误消息 --->

module initialization error: name 'dynamodb' is not defined

出现错误的原因很愚蠢。简单的解决方案是简单地删除一些选项卡。将它们退格,以便所有内容都有适当的缩进。