2017/12/10
Dockerのほうが動かなかったのでWSL側で動かしてみたらすぐにできたのでメモ。
(windowsでkitematic上で手軽に終えたかったのですが)
WSL: Windows Subsystem for Linux
(minioにたどり着くまでに、fakes3とs3ninjaをdockerで使ってみましたが、aws-sdkでput時にエラーが出たので乗り換えました)
minio のインストールと起動まで
以下からLinux向けをダウンロード
https://github.com/minio/minio
- rootユーザーでやりましたが、rootである必要はないかも・・・
cd /root
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod +x minio
mkdir /minio_data
./minio server /root/minio_data
動作すると下記のような表示が出ます。
Created minio configuration file successfully at /root/.minio
Endpoint: ~省略~ http://127.0.0.1:9000
AccessKey: ~省略~
SecretKey: ~省略~
Browser Access: ~省略~ http://127.0.0.1:9000
Command-line Access: ~省略~
Object API (Amazon S3 compatible):
Go: https://docs.minio.io/docs/golang-client-quickstart-guide
Java: https://docs.minio.io/docs/java-client-quickstart-guide
Python: https://docs.minio.io/docs/python-client-quickstart-guide
JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
.NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide
Drive Capacity: 532 GiB Free, 910 GiB Total
minio の UI を使ってみる
- ブラウザで
http://127.0.0.1:9000
にアクセス
- 上記のメッセージに出てきたアクセスキーとシークレットキーを入力してログイン
- バケットを作る (入力してenter)
- バケットを消す(消す機能はUIにない?)
仕方なく・・・ rm -rf
で削除
# ll /root/minio_data/
合計 0
drwxrwxrwx 0 root root 4096 12月 11 01:17 ./
drwx------ 0 root root 4096 12月 11 00:50 ../
drwxrwxrwx 0 root root 4096 12月 11 00:57 .minio.sys/
drwxrwxrwx 0 root root 4096 12月 11 01:16 sample/
drwxrwxrwx 0 root root 4096 12月 11 01:17 sample2/
rm -rf /root/minio_data/sample2
ちゃんと消えました
spring boot から minio にアクセスしてみたときのポイント
接続情報としては下記でOKでした(SDKバージョンなどで書き方は少し違いがあるかもしれません)
エンドポイント:http://127.0.0.1:9000
アクセスキーとシークレットキーは上記のもの
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTP); <- ここがポイント!
EndpointConfiguration endpointConfiguration = new EndpointConfiguration("http://127.0.0.1:9000", null); <- ここがポイント!
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY); <- ここがポイント!
AWSStaticCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
AmazonS3 client = AmazonS3ClientBuilder.standard()
.withCredentials(credentialsProvider)
.withClientConfiguration(clientConfig)
.withEndpointConfiguration(endpointConfiguration).build();
今日はここまで m(_ _)m