top of page

在 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
	}
}

执行后成功获取了符合条件的值。

 
 
 

留言


© Copyright ROBIN planning LLC.

bottom of page