Windows下配置MinIO,存储桶PostgreSql事件通知
一、下载MinIO服务端客户端文件:
下载地址:https://docs.min.io/cn/minio-client-quickstart-guide
二、启动服务端
1、在当前minio.exe目录下启动cmd窗口,输入命令: minio.exe server D:\minio
2、查看cmd是否执行报错,无错误访问:http://127.0.0.1:9000/。访问成功说明MinIO服务启动成功。
三、配置Postgresql数据接收存储桶通知
1、设置服务别名为myminio:
mc config host add myminio http://127.0.0.1:9000 minioadmin minioadmin
2、设置PostgreSql存储桶通知
使用mc命令:
mc admin config set myminio notify_postgres:_ connection_string="host=localhost port=5432 dbname=minio_events user=postgres password=123456 sslmode=disable" table="bucketevents" format="namespace"
3、执行成功以后重启服务端,重启后会多输出一条ARNs,后续配置通知会用到
4、可以执行get命令查看当前配置
mc admin config get myminio notify_postgres
上述命令修改的配置文件在 .minio.sys\config\下。
"notify_postgres":{
"_":[
{
"key":"enable",
"value":"on"//on开启;off关闭
},
{
"key":"format",
"value":"namespace"
},
{
"key":"connection_string",
"value":"host=localhost port=5432 dbname=minio_events user=postgres password=123456 sslmode=disable"
},
{
"key":"table",
"value":"bucketevents"
},
{
"key":"queue_dir",
"value":"D:/minio/events" //未发送消息暂存目录,斜杠必须为左斜杠,反斜杠会启动服务失败
},
{
"key":"queue_limit",
"value":"1000"
}
]
},
5、使用MinIO客户端启用Bucket通知
可以在一个叫images的存储桶上开启事件通知,一旦上有文件上传到存储桶中,PostgreSQL中会insert一条新的记录或者一条已经存在的记录会被update,如果一个存在对象被删除,一条对应的记录也会从PostgreSQL表中删除。因此,PostgreSQL表中的行,对应的就是存储桶里的一个对象。
要配置这种存储桶通知,我们需要用到前面步骤中MinIO输出的ARN信息。 SQS ARNs:arn:minio:sqs::_:postgresql
6、 创建存储桶
创建存储桶:
mc mb myminio/images
添加通知配置在“images”使用了postgresql ARN。——可以后缀参数过滤事件。--suffix也可以不设置。
mc event add myminio/images arn:minio:sqs::_:postgresql --suffix .jpg
查看通知配置
mc event list myminio/images
7、测试存储桶通知
使用mc命令上传一张图片
mc cp D:\1.png myminio/images
然后查看数据库
可以从UI界面上传一涨图片测试
查看数据库