以前有写过关于minio 的通知事件的,但是是基于kafka 的,而且时间已经很长了,以下是基于新版本minio 的一个demo
集成的webhook,同时开启了额console 方便管理

环境准备

  • docker-compose文件
 
version: "3"
services:
  webhook:
    image: jeffail/benthos
    volumes:
      - "./webhook.yaml:/benthos.yaml"
    ports:
      - "4195:4195"
  s3:
    image: minio/minio
    environment:
      - "MINIO_ACCESS_KEY=minio"
      - "MINIO_SECRET_KEY=minio123"
      - "MINIO_NOTIFY_WEBHOOK_ENABLE_MYDEMO=on"
      - "MINIO_NOTIFY_WEBHOOK_ENDPOINT_MYDEMO=http://webhook:4195"
      - "MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_MYDEMO=demos"
      - "MINIO_NOTIFY_WEBHOOK_QUEUE_DIR_MYDEMO=/"
      - "MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT_MYDEMO=10000"
      - "MINIO_NOTIFY_WEBHOOK_COMMENT_MYDEMO=DEMO"
    command: server /data --console-address ":9001"
    ports:
      - "9000:9000"
      - "9001:9001"

webhook 配置

input:
  type: broker
  broker:
    inputs:
      - type: http_server
        http_server:
          path: /
        processors:
          - type: text
            text:
              operator: prepend
              value: "get message: "
output:
  type: stdout

启动测试

  • 启动
docker-compose up -d
  • 效果

minio 集成webhook 事件通知_html

 

 

  • 集成测试

创建bucket 配置event
minio 集成webhook 事件通知_kafka_02

 

 


事件配置
minio 集成webhook 事件通知_kafka_03

 

 

minio 集成webhook 事件通知_github_04

 

 


test bucket 添加文件测试效果

 
docker-compose logs -f webhook 

minio 集成webhook 事件通知_kafka_05

 

 

说明

以上是一个简单的测试,minio 是越来越强大了,灵活的配置,兼容s3做的很不错,值得使用