Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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
dynamodbpythonapi:检查条件表达式结果的方法?_Python_Amazon Web Services_Amazon Dynamodb - Fatal编程技术网

dynamodbpythonapi:检查条件表达式结果的方法?

dynamodbpythonapi:检查条件表达式结果的方法?,python,amazon-web-services,amazon-dynamodb,Python,Amazon Web Services,Amazon Dynamodb,使用DynamoDB,我知道我可以指定一个条件表达式来控制更新,例如,使用属性_not_exists来防止覆盖现有项。但是,有没有办法检查结果?也就是说,如果确实存在一个现有项,并且创建失败,我想知道这一点,以便在HTTP响应中返回错误代码。但是,查看Boto3中的文档,默认情况下,put_项不返回任何内容,因此我不确定如何监控操作的成功。有人找到了这样做的方法吗?找到了,将抛出ConditionalCheckFailedException。失望的是,文档没有提到这一点,其他类型的异常在boto

使用DynamoDB,我知道我可以指定一个条件表达式来控制更新,例如,使用属性_not_exists来防止覆盖现有项。但是,有没有办法检查结果?也就是说,如果确实存在一个现有项,并且创建失败,我想知道这一点,以便在HTTP响应中返回错误代码。但是,查看Boto3中的文档,默认情况下,put_项不返回任何内容,因此我不确定如何监控操作的成功。有人找到了这样做的方法吗?

找到了,将抛出ConditionalCheckFailedException。失望的是,文档没有提到这一点,其他类型的异常在boto3文档中有详细说明,但不是这一个

提供一个代码示例

进口boto3 从botocore.exceptions导入ClientError dynamodb=bot3.客户端“dynamodb” 尝试: 响应=发电机B.put\U项目 TableName='my-table', 项目={ MyPartitionKey:{ S:“一些独特的价值” } }, ConditionExpression=attribute\u not\u existsMyPartitionKey, 打印“这个成功了!” 除ClientError作为e外: 如果e.response['Error']['Code']!='条件检查失败异常': 打印“这不是唯一的密钥” 其他: 打印“其他错误”
同意应更好地记录这一点。这是我从学校学到的