?場景:周二下班剛下地鐵的時候有一位大佬,咨詢kettle是否可以適配MinIO,功能要實現將圖片或者base64通過kettle直接上傳到MinIO服務器。
?接到需求,溝通需求,開干。經過3天左右研發和調試MinIO插件已經成功交付,對方經常部署到生產環境。
?1、本地搭建MinIO服務器
拉取?quay.io/minio/minio
?鏡像
docker pull quay.io/minio/minio
2、運行 MinIO 容器
docker run -p 9000:9000 -p 9001:9001 \ -e "MINIO_ROOT_USER=admin" \ -e "MINIO_ROOT_PASSWORD=admin123" \ quay.io/minio/minio server /data --console-address ":9001"
3、訪問 MinIO 控制臺
在瀏覽器中訪問?http://localhost:9001,輸入用戶名和密碼admin/admin123
新建bucket,名字為xiaojingang
?4、將插件kettle-minio-plugin-1.0.1.zip放到kettle的plugins目錄下面,然后解壓,重啟spooon客戶端。
?5、設計轉換
1)生產記錄,模擬待上傳文件參數
2)Minio oss 插件,使用MinIo client 上傳文件
3)寫日志
6、生成記錄步驟設置
fileShowName,待上傳文件MinIO服務文件的展示名稱
uploadFileContent,該字段支持待上傳文件是路徑和base64編號后的內容
?6、MinIO OSS 插件設置
endpoint:MinIO 服務器地址
accessKey:用戶名 這是是admin
secretKey:密碼 這里是admin123
filename:選擇上一步設置的待上傳文件字段
bucketName:填寫beccketName ,這里填寫xiaojingang
contentType:設置待上傳文件類型,如images/jpeg,此字段可為空,不設置有可能無法支持直接預覽
uploadFileType:待上傳文件類型,是全路徑文件還是base64編碼,有兩個選項,filePath和base64
fileShowName:從前置步驟選擇,MinIO服務器展示的文件名稱。
?7、保存&允許,文件可以正常上傳到MinIO服務器。
8、打開MinIO服務器查看文件已經上傳到服務器。
寫在最后
老鐵們,你們還有什么需求想通過kettle來解決的,咱們評論區或者社群內聊一聊。