Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 放置DynamoDB项目(如果没有';不存在,或具有相同的值_Python_Amazon Dynamodb_Boto3_Atomic - Fatal编程技术网

Python 放置DynamoDB项目(如果没有';不存在,或具有相同的值

Python 放置DynamoDB项目(如果没有';不存在,或具有相同的值,python,amazon-dynamodb,boto3,atomic,Python,Amazon Dynamodb,Boto3,Atomic,我试图编写一些代码,在两种情况下将项目放入dynamo数据库: 主键还不存在 它确实存在,它的值与我的输入相同 我尝试使用以下代码: table.put\u项目( 项目={ “示例”:“foobar” }, ConditionExpression='attribute'u不存在(示例)或(示例=:值)', 表达式属性值={ ':value':{S':'foobar'} } ) 当该项不存在时,此操作正常,但条件表达式的第二部分似乎总是失败: (示例=:值) 就本问题而言,假设数据库具有以下内容

我试图编写一些代码,在两种情况下将项目放入dynamo数据库:

  • 主键还不存在
  • 它确实存在,它的值与我的输入相同
  • 我尝试使用以下代码:

    table.put\u项目(
    项目={
    “示例”:“foobar”
    },
    ConditionExpression='attribute'u不存在(示例)或(示例=:值)',
    表达式属性值={
    ':value':{S':'foobar'}
    }
    )
    
    当该项不存在时,此操作正常,但条件表达式的第二部分似乎总是失败:

    (示例=:值)

    就本问题而言,假设数据库具有以下内容:

    [
    {'example':'foobar'}
    ]
    
    我的条件表达式有问题吗?

    根据,
    资源的
    put\u项
    操作接受以下内容作为
    表达式属性值
    参数的输入:

    ExpressionAttributeValues={
        'string': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{}
    }
    
    因此,从

        ExpressionAttributeValues={
            ':value': {'S': 'foobar'}
        }
    

    将起作用。

    根据,
    资源的
    放置项
    操作接受以下内容作为
    表达式属性值
    参数的输入:

    ExpressionAttributeValues={
        'string': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{}
    }
    
    因此,从

        ExpressionAttributeValues={
            ':value': {'S': 'foobar'}
        }
    


    会有用的。

    是的,成功了!一定是通过看几篇文章得出了错误的语法。是的,就是这样!一定是通过看几篇文章得出了错误的语法。