我想知道我是否可以根据SQS消息执行脚本。
我的要求是当我在SQS中收到队列消息时在EC2中执行脚本。
我正在使用AWS SDK与SQS进行交互。
谢谢&问候, Srivignesh KN
答案 0 :(得分:1)
SQS消息无法自动触发在EC2服务器上执行的脚本。 SQS消息不会自动执行任何操作。您必须创建一个应用程序,该应用程序将轮询SQS消息,然后根据收到的消息执行必要的操作。
答案 1 :(得分: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