2017-03-05 99 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