【问题标题】:How to make update table if exists otherwise create如果存在,如何制作更新表,否则创建
【发布时间】:2022-11-02 20:58:32
【问题描述】:

我有 dynamodb 表:tablename: mytable

  • 架构:{'primary_key': 'name'}

情况1

  • 如果表中不存在则插入文档 {'name':'john', 'age': 24} 否则更新项目

我是否需要从发电机中获取项目并在开始时检查“名称是否存在”才能进行操作?

import boto3

def lambda_handler(event, context):
    client = boto3.resource('dynamodb')
    table = client.Table("mytable")
    try:
        table.put_item(Item= {'name':'john', 'age': 24})
    except:
        table.update_item(Item= {'name':'john', 'age': 24})

案例2

  • 更新文档 {'name':'john', 'age': 24} 存在于表中否则don't create 新项目

我是否需要从发电机中获取项目并在开始时检查“名称是否存在”才能进行操作?

import boto3

def lambda_handler(event, context):
    client = boto3.resource('dynamodb')
    table = client.Table("mytable")
    try:
        table.update_item(Item= {'name':'john', 'age': 24})
    except Exception as e:
        print (e)```

【问题讨论】:

    标签: python amazon-web-services amazon-dynamodb


    【解决方案1】:

    the documentation

    放置项

    创建新项目,或用新项目替换旧项目。如果指定表中已经存在与新项具有相同主键的项,则新项完全替换现有项。

    所以你根本不需要 try/except 块。你只需要做一个put_item().

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      相关资源
      最近更新 更多