为什么我的dynamodb ContionExpression不会阻止更新

时间:2018-04-19 18:46:08

标签: amazon-dynamodb

我有一个看起来像这样的dynampodb项目:

{
'id': 'some_id',
'task_states': {
    'some_task_id': {
        'phase': 'FINISHED'
     }
}

现在我用条件表达式更新它:

task_states.some_task_id.phase IN ('ABSENT','STARTING','RUNNING')

并进行更新!但我的情况应该失败,因为task_states.some_task_id.phaseFINISHED,因此不在('ABSENT','STARTING','RUNNING')

我不知道这里有什么问题。

更新

以下是完整的boto电话:

        boto3.resource("dynamodb").Table("my_table").update_item(
            Key={
                "id": "some_id",
            },
            UpdateExpression="SET task_states.some_task_id.phase = :p",
            ExpressionAttributeValues=ExpressionAttributeValues={
                ":p": newPhase
            },
            ConditionExpression="task_states.some_task_id.phase IN ('ABSENT','STARTING','RUNNING')"
        )

0 个答案:

没有答案
相关问题