错误消息:操作错误DynamoDB:PutItem,https响应错误│StatusCode:400

问题描述 投票:0回答:1

我使用 AWS S3 和 dynamodb 来维护远程后端中的状态文件,在使用 terraform 将状态文件移动到远程后端后,我不断收到以下信息。知道如何解决此问题吗?
错误:获取状态锁时出错 │ │ 错误信息:操作错误DynamoDB:PutItem,https响应错误 │ 状态代码:400,请求ID: │ │ ConditionalCheckFailedException: 条件请求失败

resource "aws_dynamodb_table" "" {
  name         = var.table_name
  billing_mode = "PAY_PER_REQUEST"
  hash_key     = "LockID"

  attribute {
    name = "LockID"
    type = "S"
 }
amazon-web-services terraform amazon-dynamodb cloud
1个回答
0
投票

ConditionalCheckFailedException
是由您在
PutItem
中设置的条件评估为 false 引起的。这本身不是错误,更多的是对条件结果的指示:

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ConditionExpressions.html

了解您设置的条件,这将使您了解失败的原因。您可以使用

ReturnValuesOnConditionCheckFailedException
:

返回存储在 DynamoDB 中的项目

https://aws.amazon.com/blogs/database/handle-conditional-write-errors-in-high-concurrency-scenarios-with-amazon-dynamodb/

© www.soinside.com 2019 - 2024. All rights reserved.