Aliyun MNS Python SDK 是 MNS 在 Python 编译语言的官方 SDK
- 此 Python SDK 基于 阿里云轻量消息队列(原MNS) 官方 API 构建。
- 阿里云消息服务(Message Service,简称 MNS)是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务。
- MNS 能够帮助应用开发者在他们应用的分布式组件上自由的传递数据、通知消息,构建松耦合系统。
- 使用此 SDK,用户可以快速构建高可靠、高并发的一对一消费模型和一对多的发布订阅模型。
- 这篇文档主要介绍如何使用 Python 来进行 Message Service API 调用,并且介绍 mnscmd 的简单使用方法。
- 这篇文档假设您已经熟悉 Python,熟悉 Message Service 的相关概念,并且已经注册阿里云账号、开通阿里云的消息服务,且获得了相应的 AccessKeyId、 AccessKeySecret 和 AccountId。
- 如果您还没有开通或者还不了解 Simple Message Queue (formerly MNS),请移步 阿里云轻量消息队列(原MNS)官方网站 。
- Python 2.5 及以上
pip install aliyun-mns-sdk
下载 SDK 并解压,安装 SDK 和 mnscmd
-
linux 平台
sudo python setup.py install
-
Windows 平台
python.exe setup.py install
注意事项:Account, Queue, Topic, Subscription 均不是线程安全的,多线程场景下请独立构造对象。
- 下载最新版 Python SDK,进入 sample 目录。
- 修改 sample.cfg 文件 Endpoint 为您自己的接入点,可登录 MNS 控制台 查看, 具体操作,请参考 获取接入点。
- 在环境变量中设置您的
ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,阿里云身份验证信息在 RAM 控制台 创建。获取方式请参考 获取 AccessKey。 - 根据阿里云规范,您应该将 AK/SK 信息设置为环境变量使用,请参考 设置环境变量。
- linux 平台运行
python sample_all.py
,Windows 平台运行python.exe sample_all.py
。
- 下载最新版 Python SDK,进入 sample/topic 目录。
- 下载并安装 pycryptodome。
- linux 平台
python simple_http_notify_endpoint.py 127.0.0.1 [port]
, Windows 平台运行python.exe simple_http_notify_endpoint.py 127.0.0.1 [port]
, 端口号默认为 8080。 - 启动 simple_http_notify_endpoint.py 后会输出监听的地址:
http://127.0.0.1:port
。 - 接收消息需要 Endpoint 公网可达,将该地址的 127.0.0.1 换为节点的公网 ip 后作为 Subscription 的 Endpoint 属性即可接收推送到该 Subscription 的消息。
- 下载最新版 Python SDK,进入 SDK 根目录。
- 运行
python -m unittest discover -s test
即可运行所有测试。
有关 mnscmd
工具的详细使用信息,请参阅 mnscmd_usage.md。
注意:在 Windows 平台 cmd 中 mnscmd 不能直接运行,需要进入 bin 目录,用
python.exe mnscmd
替换使用帮助中的mnscmd
。
在 SDK 主目录下,修改了 mnscmd 逻辑后,请使用修改后的 mnscmd 路径替换使用帮助中的mnscmd
,如bin/mnscmd YOUR_COMMAND
。