NCMBはモバイル向けのBaaS(mobile Backend as a Service)ですが、サーバー側のデータとNCMB上のデータを連係させたいというニーズは良くあります。
そんなときには各言語向けのSDKがあると便利です。サーバー向けにはRuby、Python、PHP、Java、C#のSDKがあります(すべて公式サポート対象外の、コミュニティSDKという位置づけです)。
今回はGo言語向けのSDK開発をはじめたので、その使い方を紹介します。まずはデータストアへのデータ保存についてです。
ソースコード
ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseになります。
インストール
SDKのインストールは下記コマンドで行います。
go get -u github.com/NCMBMania/ncmb_go
インポート
続けてSDKをインポートします。
import (
"github.com/NCMBMania/ncmb_go"
)
初期化
NCMBより取得したアプリケーションキー、クライアントキーを使って初期化します。
ncmb := NCMB.Initialize("YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY")
データの新規作成
Item
メソッドで新規データのインスタンスを作ります。引数はクラス名です。
item := ncmb.Item("Hello")
データの適用
アイテムに対して、データをセットします。利用できる型は string
int
float64
time.Time
bool
配列、Mapなどになります。今後、NCMB独自の型(ポインターやデータストア、位置情報など)も使えるようにします。
item.Set("msg1", "Hello").Set("msg2", "World")
item.Set("num", 100) // Int
item.Set("float", 1.23) // Float
キーチェーンにも対応していますが、Go言語は改行が使えないので、多用すると見づらくなりそうです。
データの保存
保存は Save
メソッドで行います。保存がうまくいっていれば、 bol = true
になります。
bol, err := item.Save()
まとめ
まだ基本的な機能しかありませんが、徐々にバージョンアップしていきます。
Go言語を使ってWebアプリケーションを開発している方は、そのデータ保存先としてNCMBを利用してみてください。