delete
メソッドをItem
クラスのAWS Ruby SDK(v1)で使用して、AWS SimpleDBドメインのレコードを削除しようとしています。AWS SimpleDB Ruby v1 SDK削除メソッドが動作しない
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}"
完了すると、予想されたレコード数が削除されたと報告されますが、それらのレコードは削除されていません。それらはまだすべてSimpleDBにあります。私は当初、レプリカの問題かもしれないと思っていました。しかし、何度スクリプトを実行しても、レコードを削除することはありません。
Here's the docs私は使用しています。