H2OからMinIOにアクセスする

MinIOにCSVファイルを置いて、H2OからimportFilesをしたいとする。MinIOなので、S3としてH2Oからアクセスすれば良いと思うが、H2Oのこのドキュメントの通りにやっても上手くいかない(そのうち、改善されるのかもしれないけど、現時点ではできないと思われる…)。そもそもvalueがD〜となっているので、どっかからコピってきてとりあえず作った感じもする…。

ではどうするかだけど、PUBDEV-3321によると

-Dsys.ai.h2o.persist.s3.endPoint="play.minio.io:9000"
-Dsys.ai.h2o.persist.s3.enable.path.style=true
-Dsys.ai.h2o.persist.s3.region="us-east-1"

をjava …<ここ>… -jar h20.jar …で指定すれば良い。アクセスキーとかは普通のS3と同様に

-Daws.accessKeyId="Q3AM3UQ867SPQQA43P2F"
-Daws.secretKey="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"

とか、環境変数で指定すれば渡すことができる。

MinIOでhttpのままになっているなら、

-Dsys.ai.h2o.persist.s3.endPoint="http://play.minio.io:9000"

とすれば、H2Oからエラーにならないでアクセスできるようになる。

Fessの管理画面の表示制御

次のFess 13.6での機能として、何年前にリクエストされたかわからないくらい前からの話で、管理画面を機能ごとに表示するかどうかを調整したい、というのを実現します。現状は、adminロールを保有するユーザーが管理画面すべてを表示していますが、admin-〜とadmin-〜-viewのロールを追加します。たとえば、admin-webconfigロールを持つユーザーはウェブクロール設定の表示&編集だけが可能で、admin-webconfig-viewはウェブクロール設定の表示だけが可能というような、細かく管理画面で表示したいものを制御することができます。

デフォルトではロールを追加していないので、利用したい場合は管理画面のロールでadmin-〜ロールを追加してから、ユーザーにそのロールを割り当ててください。〜の部分はschedulerなど、表示したいページのURL部分に表示されている名前になります。

必要なロールだけを複数割り当てて、作業させたいユーザーに権限を調整することが可能になると思います。

Fess 12.5のリリース

Fess 12.5をリリースしました。

今回の新機能はストレージ機能です。Fessを使っていると、別途ファイルサーバとか用意しないでもファイル置き場的な場所が欲しくなるケースもあります。とはいえ、独自に作るといろいろと考えることも多いので、MinIOと上手く連携することで処理できるようにしました。管理画面の全般でエンドポイントとかを指定すれば、管理画面のストレージでファイルにアクセスできるようになります。さらに、ファイルクロール設定でstorage://バケット名/パス的な感じで指定するとクロールすることもできます。試したことはないですが、MinIOはゲートウェイとしてS3やGCSなどにも繋げるようなので、いろいろな使い方ができるはずと考えています。

それ以外のところだと、ライブラリの依存関係を整理したりと細々として変更をいれてあります。どうぞ、ご利用ください。