使用S3select查询数据放入redis缓存
前言:
完全不懂的新手因项目需求(用python)不得已查了点资料比着葫芦画瓢去做了个测试,留之待以后改正。
ps:不会python,之前基本也没了解过AWS。不喜勿喷。
准备环境
1,既然是查询S3内数据文件的数据,当然得有AWS了,需要AWS上创建个S3,然后将测试数据文件先上传。(在平台上直接上传,当然。。。也可以使用boto3上传和下载,网上一大堆)
2,然后安装python,因为python需要很多模块,但是有很多模块需要手动安装,所以还要安装pip。(同样网上一堆)
3,然后再安装一下redis,直接官网下载压缩包解压即可,运行redis可以直接在安装包下的redis-server.exe和redis-cli.exe。我是直接在windows下安装的。
4,安装aws-cli,因为要配置AK(Access Key ID)、SK(Secret Access Key),使用aws configure即可设置。当然也可以直接在程序上将这些参数在boto3调用client或者resource获取S3对象时添加,毕竟只是本地测试玩。
然后就可以开始了
项目开发
代码:
import logging
import redis
import sys
import traceback
import boto3
import time
# set logger
logger = logging.getLogger('test')
handler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter('[%(levelname)s] \
%(asctime)s \
%(name)s \
%(message)s')
handler.setFormatter(formatter)
logger.setLevel(logging.INFO)
logger.addHandler