根据SQS消息执行脚本

时间:2017-03-05 01:47:25

标签: amazon-web-services amazon-ec2 aws-sdk amazon-sqs

我想知道我是否可以根据SQS消息执行脚本。

我的要求是当我在SQS中收到队列消息时在EC2中执行脚本。

我正在使用AWS SDK与SQS进行交互。

谢谢&问候, Srivignesh KN

2 个答案:

答案 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