【问题标题】:Handling Delete Requests with DynamoDB and Lambda API使用 DynamoDB 和 Lambda API 处理删除请求
【发布时间】:2019-01-16 03:26:11
【问题描述】:

我正在尝试使用 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 成功响应...

【问题讨论】:

标签: python api flask amazon-dynamodb


【解决方案1】:

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

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

https://docs.aws.amazon.com/en_us/amazondynamodb/latest/APIReference/API_BatchWriteItem.html

【讨论】:

  • 谢谢,感谢您的帮助,但是如何处理 API 端多次删除的批处理请求?因为我可以发送请求,但是我不知道如何在我的 API 中处理它...
  • 不确定我是否理解您的尝试。也许这个问题会有所帮助stackoverflow.com/questions/21863326/…
猜你喜欢
  • 2021-06-30
  • 2023-02-13
  • 2021-04-19
  • 2020-06-27
  • 1970-01-01
  • 2021-04-02
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
相关资源
最近更新 更多