使用DynamoDB和Lambda API处理删除请求-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

一码平川MACHEL 2019-01-18 10:32:33 1252

我试图使用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个回应

JSON API 数据库 数据格式
分享到
取消 提交回答
全部回答(1)
  • 一码平川MACHEL
    2019-07-17 23:25:50

    严格来说,您不能一次删除多个项目。

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

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程