根据 SQS 消息执行脚本
Execute a script based on SQS message
我想知道我是否可以执行基于 SQS 消息的脚本。
我的要求是当我在 SQS 中收到队列消息时在 EC2 中执行脚本。
我正在使用 AWS SDK 与 SQS 交互。
感谢和问候,
斯里维涅什 KN
SQS 消息无法自动触发脚本在您的 EC2 服务器上执行。 SQS 消息不会自动执行任何操作。您必须创建一个应用程序来轮询 SQS 消息,然后根据它收到的消息执行必要的操作。
@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
我想知道我是否可以执行基于 SQS 消息的脚本。
我的要求是当我在 SQS 中收到队列消息时在 EC2 中执行脚本。
我正在使用 AWS SDK 与 SQS 交互。
感谢和问候, 斯里维涅什 KN
SQS 消息无法自动触发脚本在您的 EC2 服务器上执行。 SQS 消息不会自动执行任何操作。您必须创建一个应用程序来轮询 SQS 消息,然后根据它收到的消息执行必要的操作。
@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