python boto AWS SQS connection

来源:互联网 发布:怎么对比两列数据 编辑:程序博客网 时间:2024/06/08 02:55

在AWS控制台与SQS通信很容易,要想在EC2上与SQS通信,要用到python的工具包boto,网上的很多教程我使用都多多少少有些错误,现将过程记录如下:

一.安装boto

首先确认安装了python

$git clone git://github.com/boto/boto.git

$cd boto

$python setup.py install

如果提示没有安装git,$apt-get install git即可,这里我们用源码安装,你也可以用pip安装boto

$pip install boto

提示没有安装pip的话,$apt-get install pip安装即可。

二.配置boto安全证书

这里我们用配置文件,首先新建一个~/.boto文件,内容如下

[Credentials]

aws_access_key_id=YOURACCESSKEY

aws_secret_access_key=YOURSECRETKEY

  现在可以使用boto了。

三.创建与SQS的连接

以下是在python的命令行模式下运行的,我的EC2是北京的,region就是‘cn-north-1’

>>>import boto.sqs>>>conn=boto.sqs.connect_to_region('cn-north-1')

四.与AWS Services的SQS的交互

创建队列

>>>q=conn.create_queue('demo-sqs')

列出所有队列

>>>conn.get_all_queues()

通过名字得到一个队列

>>>my_queue=conn.get_queue('queue-name')

向某个队列发送消息

>>>from boto.sqs.message import Message>>>m=Message()>>>m.set_body('This is my first message!')>>>q.write(m)

读消息

>>>rs=q.get_messages()>>>len(rs)

得到发送的消息

>>>m=rs[0]>>>m.get_body()


在AWS的控制台可看到发送的消息。






0 0
原创粉丝点击