使用dynamodb的AWS Lambda错误(模块初始化错误:名称' dynamodb'未定义)

时间:2018-04-02 21:01:27

标签: python amazon-web-services aws-lambda aws-iot amazon-cloudwatchlogs

我试图运行一个lambda函数,该函数需要attribute关于AWS IoT Dash按钮,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

1 个答案:

答案 0 :(得分:0)

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