J'essaie de supprimer un groupe d'enregistrements dans un domaine AWS SimpleDB à l'aide de la méthode delete
de la classe Item
avec AWS Ruby SDK (v1), par ex.AWS SimpleDB Méthode de suppression du SDK Ruby v1 ne fonctionne pas
expected_total = # fetched using a count(*) query
actually_deleted = 0
query = "select * from MyDomain where Attr = '#{attr_value}'"
token = nil
begin
if token == nil then
resp = sdb.select(select_expression: query)
else
resp = sdb.select(
select_expression: query,
next_token: token)
end
token = resp[:next_token]
resp[:items].each do |item|
item.delete({})
actually_deleted += 1
print "\rDeleted #{actually_deleted} records..." if actually_deleted % 250 == 0
end
end while token != nil && token != ''
puts "\nComplete. Expected: #{expected_total} Actual: {actually_deleted}"
Lorsque cela est fait, il signale que le nombre attendu d'enregistrements a été supprimé, mais ce n'est pas le cas. Ils sont tous encore là dans SimpleDB. J'ai d'abord pensé qu'il pourrait être un problème de réplique, que je vérifiais trop tôt. Mais peu importe combien de fois je lance le script, il ne supprime jamais les enregistrements.
Here's the docs pour la méthode de suppression que j'utilise.