无服务器:dynamodb删除条件

时间:2017-08-28 20:22:07

标签: node.js amazon-dynamodb serverless-framework

我正在尝试删除带有条件的记录。我一直收到此错误:<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="tac templateIcons"> <a href="#" id="template1" class="templater"> <img src="assets/img/template1-01.png" alt="template 1" /> </a> <a href="#" id="template2" class="templater"> <img src="assets/img/template1-02.png" alt="template 2" /> </a> <a href="#" id="template3" class="templater"> <img src="assets/img/template1-03.png" alt="template 3" /> </a> </div> <div class="contentParent"> <div id="contentDiv"> </div> </div>

这是我在yml中的定义:

The provided key element does not match the schema

这些是尝试删除时的参数:

resources:
  Resources:
    vuelosTable:
      Type: 'AWS::DynamoDB::Table'
      DeletionPolicy: Delete
      Properties:
        AttributeDefinitions:
          -
            AttributeName: id
            AttributeType: S
          -
            AttributeName: vuelta
            AttributeType: S
        KeySchema:
          -
            AttributeName: id
            KeyType: HASH
          -
            AttributeName: vuelta
            KeyType: RANGE
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        TableName: ${self:provider.environment.DYNAMODB_TABLE}

我知道这是我没有得到的东西,但我不知道是什么。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的表格密钥既是id又是vuelta,但您只是在删除请求中提供vuelta。修改删除请求中的密钥,使其包含idvuelta

此外,根据您的客户端库,可能需要指定

Key: {
  id: { S: "some value" },
  vuelta: { S: "some value" }
}