在 AWS Lambda Python 中用 Boto3 从 DynamoDB 获取数据
- 2天前
- 讀畢需時 1 分鐘
用 Python 通过 Boto3,尝试从 DynamoDB 获取数据。
这次使用的环境是
DynamoDB:事先创建名为「testdb」的表
Runtime:python3.10(在 Lambda 中执行)
Python 代码
import json
import boto3
from boto3.dynamodb.conditions import Key, Attr
def lambda_handler(event, context):
print(event)
table_name = 'testdb'
dynamo = boto3.resource('dynamodb')
table = dynamo.Table(table_name)
response = table.query(KeyConditionExpression=Key('Artist').eq(event['artist']))
return(response)
用 import 调用 boto3 模块。
之后,定义要使用的表名。
使用 boto3 获取 dynamodb 的对象
使用 query 从数据库获取值。这次设置的条件是,获取与从 payload 取得的值匹配数据库中 Artist 键的数据。
最后 return 结果并结束。
测试用 payload
{
"artist": "Michael Jackson"
}
执行结果
{
"Items": [
{
"Title": "Thriller",
"Artist": "Michael Jackson"
}
],
"Count": 1,
"ScannedCount": 1,
"ResponseMetadata": {
"RequestId": "***************",
"HTTPStatusCode": 200,
"HTTPHeaders": {
"server": "Server",
"date": "Wed, 07 Jun 2023 09:03:16 GMT",
"content-type": "application/x-amz-json-1.0",
"content-length": "98",
"connection": "keep-alive",
"x-amzn-requestid": "***************",
"x-amz-crc32": "4290830663"
},
"RetryAttempts": 0
}
}
执行后成功获取了符合条件的值。



留言