Python 如何使用lambda函数通过API传递的多个过滤器查询dynamoDB

Python 如何使用lambda函数通过API传递的多个过滤器查询dynamoDB,python,amazon-web-services,aws-lambda,Python,Amazon Web Services,Aws Lambda,我正在使用dynamodb创建一个lambda函数来列出项目,并尝试传递参数来过滤数据。在不通过任何过滤器的情况下,我可以使用扫描方法获取数据,但当通过过滤器时,会出现错误。下面是我正在尝试的代码 from __future__ import print_function import json import boto3 from boto3.dynamodb.conditions import Key, Attr dynamodb = boto3.resource('dynamod

我正在使用dynamodb创建一个lambda函数来列出项目,并尝试传递参数来过滤数据。在不通过任何过滤器的情况下,我可以使用扫描方法获取数据,但当通过过滤器时,会出现错误。下面是我正在尝试的代码

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

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('table-all')

def scan_table_allpages(self, table_name, filter_key=None, filter_value=None):

        table = self.dynamodb_resource.Table(table)

        if filter_key and filter_value:
            filtering_exp = Key(filter_key).eq(filter_value)
            response = table.scan(FilterExpression=filtering_exp)
        else:
            response = table.scan()

        items = response['Items']
        while True:
            print(len(response['Items']))
            if response.get('LastEvaluatedKey'):
                response = table.scan(ExclusiveStartKey=response['LastEvaluatedKey'])
                items += response['Items']
            else:
                break
        return items 

# def lambda_handler(event, context):    
#     print(table.creation_date_time)

#     response = table.get_items(
#         Key={
#             'Country':event['pathParameters']['USA']
#         }
#     )

#     #response = table.query()
#     #print(response)

#     return response

scan_table_allpages(self.table,filter_key="Country",filter_value='USA') 

您的错误是什么?没有返回任何内容。。3秒后超时超时超时设置的值是多少?默认值为3秒。如果代码需要更多时间执行,请尝试增加该值。增加到10秒,但响应仍然为空。。