代码之家  ›  专栏  ›  技术社区  ›  Osiris.N

dynamodb出现AWS Lambda错误(模块初始化错误:未定义名称“dynamodb”)

  •  1
  • Osiris.N  · 技术社区  · 8 年前

    我想运行一个lambda函数 attribute 关于AWS物联网仪表板按钮 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 回复  |  直到 8 年前
        1
  •  2
  •   Osiris.N    8 年前

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