如何通过lambda函数从dynamodb检索值

时间:2019-03-27 06:38:02

标签: python

我需要通过lambda函数从dynamodb中检索值

import boto3
from boto3.dynamodb.conditions import Key, Attr

    dynamodb = boto3.resource('dynamodb')
    table = dynamodb.Table(os.environ['DB_TABLE_NAME'])
    postItem = table.query(
        KeyConditionExpression=Key('id').eq(postId)
    )

我收到以下错误:

{
  "errorMessage": "Syntax error in module 'lambda_function'"
}

1 个答案:

答案 0 :(得分:0)

您的代码中需要一个lambda处理程序,并且还需要导入os模块。这可能会让您入门。

import boto3
import os
from boto3.dynamodb.conditions import Key, Attr

def lambda_handler(event, context):

    postId = event["postId"]

    dynamodb = boto3.resource('dynamodb')
    table = dynamodb.Table(os.environ['DB_TABLE_NAME'])

    if postId=="*":
        items = table.scan()
    else:
        items = table.query(
            KeyConditionExpression=Key('id').eq(postId)
        )

    return items["Items"]