top of page

在 AWS Lambda Python 中用 Boto3 向 DynamoDB 添加新项目

  • 2天前
  • 讀畢需時 1 分鐘

用 Python 通过 Boto3,尝试向 DynamoDB 添加项目。

这次使用的环境是

DynamoDB:事先创建名为「testdb」的表

Runtime:python3.10(在 Lambda 中执行)

Python 代码

import json
import boto3

def lambda_handler(event, context):
    print(event)
    table_name = 'testdb'
    item = {
       'Artist': event['artist'],
       'Title': event['title']
    }
    dynamo = boto3.resource('dynamodb')
    table = dynamo.Table(table_name)
    response = table.put_item(Item=item)
    
    print(response)

用 import 调用 boto3 模块。

之后,定义要使用的表名,并从 payload(event 参数)中获取要添加到数据库的项目。

使用 boto3 获取 dynamodb 的对象

使用 put_item 执行向数据库添加项目。

最后用 print 输出添加的结果。

测试用 payload

{
    "artist": "Michael Jackson",
    "title": "Thriller"
}

执行结果

START RequestId: ******************************** Version: $LATEST
{'artist': 'Michael Jackson', 'title': 'Thriller'}
{'ResponseMetadata': {'RequestId': '*********************', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Server', 'date': 'Wed, 07 Jun 2023 05:26:26 GMT', 'content-type': 'application/x-amz-json-1.0', 'content-length': '2', 'connection': 'keep-alive', 'x-amzn-requestid': '***************************', 'x-amz-crc32': '2745614147'}, 'RetryAttempts': 0}}
END RequestId: ************************
REPORT RequestId: ****************************	Duration: 1625.71 ms	Billed Duration: 1626 ms	Memory Size: 128 MB	Max Memory Used: 70 MB	Init Duration: 253.35 ms

执行后会输出「ResponseMetadata」。

确认数据库

从 AWS 控制台界面进入「DynamoDB」,在「浏览项目」中选择 testdb,确认「返回的项目」,即可确认通过 Boto3 从 Lambda Python 添加的项目已显示出来。

 
 
 

留言


© Copyright ROBIN planning LLC.

bottom of page