ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

CLIでNCMBを利用するncmb.shを作りました

f:id:mbaasdevrel:20190918162906p:plain Bashスクリプトで署名文字列を作る記事を投稿しましたが、その応用として署名文字列を使ってBashスクリプト版のNCMBクライアントを作成しました。

NCMBMania/ncmb-sh: CLIで使えるNCMB用のコマンドです

今はデータの取得のみですが、使い方を解説します。

使い方

コマンドは次のように使います。

./ncmb.sh -a b34...01e \
         -c 489...462 \
         -w '{"hello":"ncmb"}' \
         -m GET \
         -p Example \
         -l 100

オプションは以下になります。

  • -a
    アプリケーションキー
  • -c
    クライアントキー
  • -w
    絞り込み条件(JSON指定)
  • -p
    クラス名
  • -m
    HTTPメソッド
  • -l
    取得件数
  • -s
    スキップ件数

処理内容

署名文字列を使ってcurlコマンドを実行しています。条件を極力オプションにしましたので、自由にデータが取り出せるでしょう。署名作成部分についてはファイルではなく、標準出力を使うようになっています。そのため echo -n を使って最後に改行が入らないようにしています。 -e は改行が改行として認識されるためのものです。

sig=`echo -e -n ${sigStr} | openssl dgst -sha256 -binary -hmac ${CLIENT_KEY} | base64`

curlコマンドについてはネットワークアクセス時のプログレスが出ないように -s オプションを付けています。

cmd="curl -s -S -X ${METHOD^^} -H \"X-NCMB-Application-Key: ${APPLICATION_KEY}\" \\

jqとの組み合わせ

jqと組み合わせることで出力結果を見やすく整形できます。

注意点

Linux系の各種コマンドを使っていますのでWindowsでは動きません。WSLであれば動くかも知れませんが未検証です。

まとめ

コードはわずか60行程度でごく短いものです。これだけのコードでmBaaSにアクセスしてデータの取得が可能です。どのような仕組みになっているかぜひご覧ください。

NCMBMania/ncmb-sh: CLIで使えるNCMB用のコマンドです

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。