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

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

NCMB用のPython SDKを開発中です(ACLの使い方)

f:id:mbaasdevrel:20201019182214p:plain

PythonはIoT、機械学習をはじめ、幅広い分野で使われているプログラミング言語になります。JavaScriptと同様に、覚えておくと利用範囲の広いプログラミング言語といえるでしょう。

そんなPythonとNCMBを組み合わせる際に利用できる、Python SDKを開発しています(非公式)。まだまだ機能は少ないですが、徐々にバージョンアップしていきます。

今回はアクセス権限に関するACLの使い方です。

インストール

インストールはpipコマンドで行います。

pip install NCMB

初期化

初期化処理は次のように行います。

from NCMB.Client import NCMB
ncmb = NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY')

ACLオブジェクトの作成

ACLはNCMBAclオブジェクトになります。 ncmb.Acl() で呼び出します。

acl = ncmb.Acl()

アクセス権限の設定

アクセス権限は全体(ログイン、非ログイン状態問わず)、ユーザ単位、グループ単位で指定できます。

# 全体
acl.set_public_read_access(true)
acl.set_public_write_access(true)

# ユーザ単位
user = ncmb.User()
acl.set_user_read_access(user, true)
acl.set_user_write_access(user, true)

# グループ
acl.set_role_read_access('admin', true)
acl.set_role_write_access('admin', true)

権限を設定したら、任意のオブジェクトに set メソッドでACLを適用します。

obj.set('acl', acl)

コードについて

Python SDKはオープンソース・ソフトウェア(MIT License)になります。GitHub - goofmint/ncmb_py: NCMBのPython SDKですにて公開されています。

まとめ

ACLを使うことで、データストアやファイルストアを安全に保存、利用できるようになります。

Python SDKはまだ機能は少ないですが、IoTや機械学習分野でmBaaSを活用するのに役立つはずです。ぜひ活用してください。

中津川 篤司

中津川 篤司

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