通过Redis发布MinIO事件
介绍
Minio服务器支持以下目标AMQP,Elasticsearch,Redis,nats.io,PostgreSQL和Apache Kafka的Amazon S3兼容存储桶事件通知。本博客系列的第3部分将介绍使用Redis发送存储桶通知。
配置Redis的步骤
我在笔记本电脑上使用Ubuntu Linux 16.04,最新的Minio服务器二进制文件和Redis PPA版本3.0.7进行此设置。
$ sudo add-apt-repository ppa:chris-lea/redis-server $ sudo apt-get update $ sudo apt-get install redis-server
您也可以从官方网站安装Redis
修改Redis服务器配置文件“ /etc/redis/redis.conf”以启用密码访问。
requirepass yoursecret
重新启动Redis服务器。
$ sudo service redis-server restart
配置Minio的步骤
可以从https://minio.io/downloads/下载最新的Minio服务器二进制文件
$ wget https://dl.minio.io/server/minio/release/linux-amd64/minio $ chmod +x minio
在这种情况下,“ myphotos”用作Minio服务器的数据目录。
$ ./minio server myphotos Endpoint: http://10.1.10.150:9000 http://127.0.0.1:9000 AccessKey: 7I6R5G576YI641GS9J9F SecretKey: SuycBIe+O/s5zXxU9w+N4wkXHpBCKa2H6Ptlrc8c Region: us-east-1 ... ...
Minio服务器配置文件的默认位置是〜/ .minio / config.json。更新Redis的配置块在“config.json”如下
"redis": {
"1": {
"enable": true,
"address": "127.0.0.1:6379",
"password": "yoursecret",
"key": "bucketevents"
}
}重新启动Minio服务器以反映上面所做的配置更改。“ bucketevents”是Redis在此示例中使用的键。
使用Minio客户端启用存储桶通知
步骤1:下载并安装Minio客户端
$ wget https://dl.minio.io/client/mc/release/linux-amd64/mc $ chmod 755 mc
步骤2:添加Minio服务器主机别名信息
为Minio客户端配置指向Minio服务器的访问权和密钥。
$ ./mc config host add myminio http://localhost:9000 7I6R5G576YI641GS9J9F SuycBIe+O/s5zXxU9w+N4wkXHpBCKa2H6Ptlrc8c
步骤3:设定值区通知
在此示例中,仅当在“ myminio”服务器上的“ images”存储桶中上传或删除JPEG图像时,才启用存储桶事件。这里的ARN值为arn:minio:sqs:us-east-1:1:redis。要了解有关ARN的更多信息,请遵循AWS ARN文档。
$ ./mc mb myminio/images $ ./mc events add myminio/images arn:minio:sqs:us-east-1:1:redis --suffix .jpg $ ./mc events list myminio/images arn:minio:sqs:us-east-1:1:redis s3:ObjectCreated:*,s3:ObjectRemoved:* Filter: suffix=”.jpg”
步骤4:在Redis上进行测试
Redis带有方便的命令行界面redis-cli。它使用“ monitor”命令在控制台上打印所有通知。
$ redis-cli -a yoursecret 127.0.0.1:6379> monitor OK
打开另一个终端,然后将JPEG图像上载到“ images ”存储桶中。
$ ./mc cp myphoto.jpg myminio/images
在“ redis-cli”下方,在控制台上打印事件通知。
如有其他问题和意见,请加入我们的Slack聊天室,网址为:http://slack.minio.org.cn/questions