全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
业务实时监控服务 ARMS

SDK for Python

更新时间:2017-09-11 10:26:12

本文给出了 Python 示例。

安装 Python 环境

Python SDK 是一个纯 Python 的库,支持在所有运行 Python 的操作系统。目前主要为 Linux 和 Windows。

请按以下步骤安装 Python:

  1. 下载并安装最新的 Python 2 安装包

    目前,Python SDK 支持 Python 2.6/2.7环境。可以运行 python -V 查询当前的 Python 运行版本。

  2. 下载并安装 Python 的包管理工具 pip。

完成 pip 安装后,你可以运行 pip -V 确认 pip 是否安装成功,当前 pip 版本如何。

安装 Python SDK 的依赖库

Python SDK 依赖于一组第三方的 Python 库。在使用该 SDK 前必须安装好如下依赖库:

  • GoogleProtocol Buffer:Python SDK 依赖于 Protocol Buffer 协议向服务端写入日志。具体安装如下:

    sudo pip install protobuf==2.5.0

    pip 安装 Protobuf 需要连接 Python Package Index 网站,请确保机器能够访问该网站。如果因为网络问题无法安装成功,可以考虑从 Protocol Buffer 的 Github 官方网站手动下载安装(具体安装步骤请参考下载包的 Readme 文档)。

  • Python-Requests: Python SDK 依赖于 Python-Requests 类进行 HTTP 通信。执行以下命令进行安装:

    sudo pip install requests

  • SimpleJson:Python SDK 依赖于 SimpleJson 处理 API 的 JSON 格式返回结果。执行以下命令进行安装:

    sudo pip install simplejson

安装 Python SDK

安装好如上环境后,需要下载 Python SDK。具体如下:

  1. 从 GitHub 下载最新的 Python SDK 包。

  2. 解压完整下载的包到指定的目录。

  3. 在解压后的目录运行如下命令安装 Python SDK。

    python setup.py install

开始一个 Python 程序

  1. #!/usr/bin/env python
  2. #encoding: utf-8
  3. import datetime
  4. from aliyun.log.logclient import LogClient
  5. from aliyun.log.logitem import LogItem
  6. from aliyun.log.putlogsrequest import PutLogsRequest
  7. def main():
  8. #endpoint: 数据写入存储所在区域
  9. #project,logstore: 构成基本数据存储目标
  10. #accessKeyId,accessKeySecret: 构成访问密钥
  11. #注意: 请用户根据实际情况填写
  12. endpoint = "cn-hangzhou.log.aliyuncs.com"
  13. project = "proj-arms-7dd6ecb06d21e02aed9eeb56b79e9f"
  14. logstore = "logstore-56f96ec5546fb6555ef97dd057acb4e9"
  15. accessKeyId = "utmxiro7BYtTLLxL"
  16. accessKeySecret = "PyjsffdlggBoYcrgpr69w023b9UcBH"
  17. logGroupSize = 10
  18. examples = []
  19. examples.append('|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=男装&区域=杭州&eventTeyp=1&性别=1&价格=2140|')
  20. examples.append('|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=家居&区域=上海&eventTeyp=3&性别=0&价格=8305|')
  21. examples.append('|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=食品&区域=深圳&eventTeyp=3&性别=1&价格=7121|')
  22. examples.append('|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=男装&区域=上海&eventTeyp=3&性别=1&价格=2917|')
  23. examples.append('|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=食品&区域=上海&eventTeyp=1&性别=1&价格=4285|')
  24. examples.append('|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=男装&区域=杭州&eventTeyp=3&性别=1&价格=7864|')
  25. examples.append('|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=女装&区域=杭州&eventTeyp=5&性别=0&价格=2983|')
  26. examples.append('|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=食品&区域=深圳&eventTeyp=5&性别=1&价格=3201|')
  27. # 构建一个client
  28. client = LogClient(endpoint, accessKeyId, accessKeySecret)
  29. for i in range(0, 10):
  30. logGroup = []
  31. for j in range(0, 10):
  32. logItem = LogItem()
  33. logItem.push_back("content", datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + examples[j % len(examples)])
  34. logGroup.append(logItem)
  35. req = PutLogsRequest(project, logstore, "", "", logGroup)
  36. client.put_logs(req)
  37. print "send data success"
  38. if __name__ == '__main__':
  39. main()

重要参数说明

参数 说明
endpoint 数据写入区域(endpoint 列表
accessKeyId 写入数据时的秘钥 id
accessKeySecret 写入数据时的秘钥密码
project 写入数据的 project id
logstore 写入数据的 logstore id

注意:

  • ARMS 颁发的 accessKeyId,accessKeySecret 非用户阿里云AK/SK,需要从 ARMS 获取,详情请查看 SDK 数据源配置
  • project id 和 logstore id 唯一确定一个数据源。
本文导读目录