zoukankan      html  css  js  c++  java
  • Minio Bucket 通知试用&&说明

    kafka 安装

    docker run -p 2181:2181 -p 9092:9092 
          --name kafka --rm 
          --env ADVERTISED_HOST=HOSTIP 
          --env ADVERTISED_PORT=9092 
          spotify/kafka

    minio (mac local)

    wget https://dl.minio.io/server/minio/release/darwin-amd64/minio 
    chmod +x minio 
    mkdir data
    ./minio server ./data

    config minio notify

    路径 ~/.minio/config.json

    "kafka": {
        "1": {
            "enable": true,
            "brokers": ["localhost:9092"],
            "topic": "bucketevents"
           }
        }

    下载client 并配置minio server

    wget https://dl.minio.io/client/mc/release/darwin-amd64/mc 
    chmod +x mc 
    ./mc --help
    ./mc config host add myminio http://localhost:9000 GT481SA7MEF5D2G29N0L QqaFn67VTbko3FRE0IfZVTYpztb3UpjKW0RloHSt

    创建bucket 并启用evnet

    注意配置之前,如果没有配置kafka 通知,配置完成之后,minio server 需要重启,不然会报错

    ./mc mb myminio/images
    ./mc events add myminio/images arn:minio:sqs:us-east-1:1:kafka --suffix .png

    测试

    • 下载 kafkacat

      kafka 信息查看(mac)

    brew install kafkacat
    • 上传图片测试
    ./mc cp app.png myminio/images
    • 效果

    说明

    我们可以添加多种通知,实现一个pipeline 的文件处理服务,还是比较方便的
    • 添加另外的一个通知
    ./mc events add myminio/images arn:minio:sqs:us-east-1:1:kafka --suffix .txt
    • 效果
    • 查看配置的通知
     ./mc events list myminio/images --json
    {"status":"success","id":"","events":["s3:ObjectCreated:*","s3:ObjectRemoved:*","s3:ObjectAccessed:*"],"prefix":"","suffix":".png","arn":"arn:minio:sqs::1:kafka"}
    {"status":"success","id":"","events":["s3:ObjectCreated:*","s3:ObjectRemoved:*","s3:ObjectAccessed:*"],"prefix":"","suffix":".jpg","arn":"arn:minio:sqs::1:kafka"}
    {"status":"success","id":"","events":["s3:ObjectCreated:*","s3:ObjectRemoved:*","s3:ObjectAccessed:*"],"prefix":"","suffix":".txt","arn":"arn:minio:sqs::1:kafka"}
    

    信息存储

    实际上默认的配置都是在一个.minio.sys 文件夹中

    • 参考图
    • 内容
    <NotificationConfiguration>
    <QueueConfiguration>
    <Id></Id>
    <Filter>
    <S3Key>
    <FilterRule>
    <Name>suffix</Name>
    <Value>.png</Value>
    </FilterRule>
    </S3Key>
    </Filter>
    <Event>s3:ObjectCreated:*</Event>
    <Event>s3:ObjectRemoved:*</Event>
    <Event>s3:ObjectAccessed:*</Event>
    <Queue>arn:minio:sqs::1:kafka</Queue>
    </QueueConfiguration>
    <QueueConfiguration>
    <Id></Id>
    <Filter>
    <S3Key>
    <FilterRule>
    <Name>suffix</Name>
    <Value>.jpg</Value>
    </FilterRule>
    </S3Key>
    </Filter>
    <Event>s3:ObjectCreated:*</Event>
    <Event>s3:ObjectRemoved:*</Event>
    <Event>s3:ObjectAccessed:*</Event>
    <Queue>arn:minio:sqs::1:kafka</Queue>
    </QueueConfiguration>
    <QueueConfiguration>
    <Id></Id>
    <Filter>
    <S3Key>
    <FilterRule>
    <Name>suffix</Name>
    <Value>.txt</Value>
    </FilterRule>
    </S3Key>
    </Filter>
    <Event>s3:ObjectCreated:*</Event>
    <Event>s3:ObjectRemoved:*</Event>
    <Event>s3:ObjectAccessed:*</Event>
    <Queue>arn:minio:sqs::1:kafka</Queue>
    </QueueConfiguration>
    </NotificationConfiguration>

    参考资料

    https://minio.io/downloads.html
    https://github.com/edenhill/kafkacat
    https://hub.docker.com/r/spotify/kafka/
    https://docs.minio.io/docs/minio-bucket-notification-guide
    https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html

  • 相关阅读:
    time 模块学习
    day 14 自定义模块,常用模块 time .datetime ,time 模块
    day 13 课后作业
    day 12 课后作业
    day 11课后作业
    树状数组最值
    hdu 1059 Dividing bitset 多重背包
    XVII Open Cup named after E.V. Pankratiev. XXI Ural Championship
    最长公共子序列板/滚动 N^2
    Uva 10635
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/9252416.html
Copyright © 2011-2022 走看看