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()
データの更新
データの更新も Save
メソッドで行います。
item.Set("msg1", "New Message")
item.Set("num", 200.000)
bol, err := item.Save()
データの削除
データの削除は Delete
メソッドで行います。
bol, err := item.Delete()
まとめ
まだ基本的な機能しかありませんが、徐々にバージョンアップしていきます。
Go言語を使ってWebアプリケーションを開発している方は、そのデータ保存先としてNCMBを利用してみてください。