Amazon web services 从DynamoDB中查找一行,不带哈希和范围键,并将其删除
有没有一种方法可以在不使用散列键和范围键的情况下从DynamoDB中删除记录/行 这是我的桌子,看起来像: 我有一个instance_id的值,基于该值,我将删除该行,但会出现错误: 以下是我正在使用的代码:Amazon web services 从DynamoDB中查找一行,不带哈希和范围键,并将其删除,amazon-web-services,aws-lambda,amazon-dynamodb,boto3,Amazon Web Services,Aws Lambda,Amazon Dynamodb,Boto3,有没有一种方法可以在不使用散列键和范围键的情况下从DynamoDB中删除记录/行 这是我的桌子,看起来像: 我有一个instance_id的值,基于该值,我将删除该行,但会出现错误: 以下是我正在使用的代码: table.delete_item( Key={ 'instance_id':'i-0b2b314a' } ) 报告说: 按主键删除表
table.delete_item(
Key={
'instance_id':'i-0b2b314a'
}
)
报告说:
按主键删除表中的单个项
因此,不可能通过非主键的值进行删除
您需要扫描(就RCU而言很昂贵!)具有该值的行,然后删除返回的项目。确实如此。此外,如果这是您需要执行的常见操作—您经常需要通过“instance_id”属性删除项目,那么您还可以为此属性创建一个二级索引。这将允许您在给定实例id的情况下高效地查找哈希键。