开发者社区> 问答> 正文

使用DynamoDB和Lambda API处理删除请求

我试图使用lambda(无服务器框架)API从我的DynamoDB数据库中删除多个项目。我已多次使用代码,但我无法弄清楚如何将多个项目传递给api进行删除。

@app.route("/deletefromdb", methods=['GET', 'POST'])
def delete():

payload = {'id': 'id_content'}
urlShopItemsDelete = 'https://api.us-east-1.amazonaws.com/dev/todos/'
headers = {'content-type': 'application/json'}
res = requests.delete(
    url=urlShopItemsDelete, data=json.dumps(payload), headers=headers, timeout=15, verify=True)
return jsonify({"success": True}), 202

API代码......

import os
import json
import boto3
dynamodb = boto3.resource('dynamodb')

def delete(event, context):

table = dynamodb.Table(os.environ['DYNAMODB_TABLE'])
data = json.loads(event['body'])
table.delete_item(
    Key={
        'id': data['id']
    }
)

response = {
    "statusCode": 200
}

return response

我希望通过ID删除该项目,然后让API返回200个回应

展开
收起
一码平川MACHEL 2019-01-18 10:32:33 3103 0
1 条回答
写回答
取消 提交回答
  • 严格来说,您不能一次删除多个项目。

    要删除项目,您应该提供项目的表名和主键。但是您可以批量执行多个删除请求

    2019-07-17 23:25:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载