2016-08-03 8 views
0

私は2つのキューSQS abを持っています。私はPython botoライブラリを使って、あるキューから別のキューにすべてのメッセージを移動したいと思います。これは私がこれを行うことを試みた方法です:python botoライブラリを使ってあるキューから別のキューにSQSメッセージを移動するには?

rs = a.get_messages() 
while rs: 
    msg = rs[0] 
    if not msg: 
    break 
    b.write(msg) 
    a.delete_message(msg) 
    rs = a.get_messages() 

私は(予想)とbにはメッセージが(!期待しないではない)私は「A」にはメッセージを表示しないそのコードを実行した後。おそらく私は同じオブジェクトを新しいキューに入れてそれを削除したからでしょう。だから元のオブジェクトを置くのではなく、新しいキューにコピーを入れるメッセージをコピーする方法はありますか?それとも私がここで間違っていることがありますか?

+0

このhttps://github.com/MarcelloLins/AWS-SQS-Fast-copyを確認しましたか、またはPythonを使用することは必須ですか? – error2007s

+0

ええ、私は何かシンプルな、マルチスレッド、Microsoft Visual Studioソリューションファイル、わずか10行のPythonコードが必要です。 – mnowotka

答えて

0

メッセージ本文を新しいメッセージに書き込んでキューbに送信する必要があります。

m = boto.sqs.message.RawMessage(body=msg.get_body()) 
b.write(m) 

受信したメッセージオブジェクトを送信しようとすると例外が発生する - ログを確認する。

関連する問題