LoginSignup
2
2

More than 5 years have passed since last update.

LeoFSにREST API経由でアクセスをする

Posted at

引き続きLeoFSを触ってみる。今回はREST APIでLeoFS上のファイルを操作してみる。
REST API — LeoFS 1.0 documentation

GETしてみる

とりあえずGETくらいはいけるやろ、と甘く見ていたが、ドキュメントの一行目でいきなり詰まる。

${USE_S3_AUTH}というのがわからない。Gateway configurationのリンク先にもないっぽい。ドキュメント内の検索をしてみてもこのREST APIのページしか出てこない。その後の${KEY}というのもわからなかった。。

無視して、GETを投げてみる。

$ curl -X GET http://localhost:8080/tarr-bucket/test.txt
<?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code><Message>Access Denied</Message><Resource>tarr-bucket/test.txt</Resource><RequestId></RequestId></Error>

あからさまに上記のAUTHの設定がない的なエラーが帰ってきた。

開発サイドに質問

どうしようもなかったので開発サイドに質問してみたところ、このREST APIのドキュメントが古かったらしく
LeoFS Configuration — LeoFS 1.0 documentation

上記ドキュメントの{HTTP_HANDLER}というところに置き換わっているらしい。{LEOFS_HOME}/package/gateway/etc/leo_gateway.confの中のhttp.handlerをrestに設定すると良いとのこと。

改めてGETしてみる

vi leo_gateway/etc/leo_gateway.conf

## Gateway’s HTTP API to use: [s3 | rest | embed]
http.handler = rest

上記に編集した後にGETを投げてみる。

$ curl -X GET http://localhost:8080/tarr-bucket/test.txt
<?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code><Message>Access Denied</Message><Resource>tarr-bucket/test.txt</Resource><RequestId></RequestId></Error>

エラーがでた。先ほど編集したconfigファイルが反映されていないのかと思い、gatewayをrestartする。

$ leo_gateway/bin/leo_gateway stop
ok
$ leo_gateway/bin/leo_gateway start

改めてGET

$ curl -X GET http://localhost:8080/tarr-bucket/test.txt
tarrrrrrrrrr

上手くいった。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2