我正在尝试删除有条件的记录,但失败了。我一直收到这个错误:The provided key element does not match the schema
。
这是我在yml:中的定义
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}
以下是尝试删除时的参数:
params = {
RequestItems: {
[process.env.DYNAMODB_TABLE]: [{
DeleteRequest: {
Key: {
"vuelta": "2017-09-09"
}
}
}]
}
};
我知道这是我得不到的东西,但我不知道是什么。有什么想法吗?
您的表键是id
和vuelta
,但您在删除请求中只提供了vuelta
。修改删除请求中的密钥,使其同时包含id
和vuelta
。
此外,根据您的客户端库,可能需要指定
Key: {
id: { S: "some value" },
vuelta: { S: "some value" }
}