[英]AWS Lambda Boto3 python - filter expression on dynamodb table throw error "errorMessage": "name 'Attr' is not defined",
I am using a filter on dynamodb table.我在 dynamodb 表上使用过滤器。 it throws error the following error.
它会引发以下错误。 Boto3 documentation shows response = table.scan(FilterExpression=Attr('myattribute').eq('myvalue')
Boto3 文档显示 response = table.scan(FilterExpression=Attr('myattribute').eq('myvalue')
I did same thing.我做了同样的事情。 I want items in this table where the agentRole = Receiver
我想要此表中 agentRole = Receiver 的项目
Response
{
"errorMessage": "name 'Attr' is not defined",
"errorType": "NameError",
"requestId": "1b2fbee6-5fa2-4951-8689-3d1bfec76e5c",
"stackTrace": [
" File \"/var/task/lambda_function.py\", line 21, in lambda_handler\n
response = tableresource.scan(FilterExpression=Attr('agentRole').eq('Receiver'))\n"
]
}
This is the code:这是代码:
import json
import os
import boto3
from pprint import pprint
#Find records that has agentRole as 'Receiver'
tableName = os.environ.get('TABLE')
fieldName = os.environ.get('FIELD')
keytofind = os.environ.get('FILTER')
fieldname = "agentRole"
dbclient = boto3.resource('dynamodb')
def lambda_handler(event, context):
tableresource = dbclient.Table(tableName)
count = tableresource.item_count
response = tableresource.scan(FilterExpression=Attr('agentRole').eq('Receiver'))
from boto3.dynamodb.conditions import Attr
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.