2017-03-05 149 views
0

我想知道是否可以基於SQS消息執行腳本。根據SQS消息執行腳本

我的要求是當我在SQS中收到隊列消息時,在EC2中執行腳本。

我正在使用AWS SDK與SQS進行交互。

感謝&問候, Srivignesh KN

+0

只寫你的程序來解析SQS消息和運行過程中就可以了。 – mootmoot

回答

1

的SQS消息不能自動觸發腳本到您的EC2服務器上執行。 SQS消息不會自動執行任何操作。您必須創建一個應用程序來輪詢SQS消息,然後根據收到的消息執行必要的操作。

+0

謝謝@mark,我正在尋找使用aws-sdk輪詢sqs隊列的示例,並根據sqs消息執行任何操作。感謝你的幫助。 –

0

@Mark,謝謝你的建議。

我能夠找到一個解決方案,並使用boto庫以下列方式實現它。

import boto.sqs 
#--------------Establishing Connection ------------------ 
conn = boto.sqs.connect_to_region(
    "myregion", 
aws_access_key_id='myaccesskey', 
aws_secret_access_key='mysecretaccesskey') 
print conn.get_all_queues() 
#----------------Processing the queue ------------------ 
my_queue=conn.get_queue('MySqsQueue') 
print "My Queue is ",my_queue 
rs=my_queue.get_messages() 
length=len(rs) 
print "Number of messages in the queue is",length 
m=rs[0] 
MsgBody=m.get_body() 
print "Message Body is ",MsgBody 
---My Script Execution/Processing--- 
#--------------Clearing the queue--------------- 
conn.purge_queue(my_queue) 

感謝&問候,

Srivignesh KN