[SORACOM SDK for Ruby]SIMの使用を開始/休止してみた
はじめに
SORACOM SDK for RubyでSIMの使用を開始/休止を切り替えられるかを試してみました。結論からするとできたのですが、SDKから実行する例がネット上には見当たらなかったので(私が検索できなかった可能性もありますが)、どのようにSDKの該当機能を見つけたかも含めて書きたいと思います。
SDKより必要な機能を探す
SORACOM SDK for Rubyについて
SDKについて、公式ページに以下の様な記述があります。
SORACOM SDK for Ruby は、株式会社ソラコム の提供する IoT プラットフォームの API を Ruby プログラムからコールするためのライブラリとなります。
なのでSDKより呼び出すAPIがあると考え、APIのリファレンスを見てみました。
API リファレンス
公式のAPI リファレンスは以下になります。
API Reference
見てみると、今回やりたいことを実現できそうなAPIがありました。
このAPIを呼び出すメソッドをSDKから探せばいいことになります。
SDKのメソッド
ということでSDKより上記のAPIを呼び出すメソッドを探します。APIと同じ様な名前だろうと検討を付け、前回紹介したSDKのクライアントオブジェクトのメソッドを探すと、以下の様なメソッドが見つかりました。
client.activate_subscriber(imsis) client.deactivate_subscriber(imsis)
サンプルプログラム
使用するSDKのメソッドを見つけたので、サンプルプログラムを作成しました。
SIMを開始するサンプル
require 'soracom' require './secret_settings' client = Soracom::Client.new(email: SecretSettings.soracom.email, password: SecretSettings.soracom.password) imsis = [] client.list_subscribers.each do |sim| imsis << sim['imsi'] end client.activate_subscriber(imsis) puts 'subscribers activate.'
前回同様、4行目でソラコムのクライアントを作成します。そのクライアントの「activate_subscriber」を呼び出すのですが、今回はSIMを特定するIMSIを配列で渡すようです(一つのIMSIを渡すこともできるようですが)。11行目で該当メソッドを呼び出し、SIMを使用開始しています。
このソースを実行するとユーザコンソールは以下のようになり、SIMが使用開始されたことが分かります。
SIMを休止するサンプル
require 'soracom' require './secret_settings' client = Soracom::Client.new(email: SecretSettings.soracom.email, password: SecretSettings.soracom.password) imsis = [] client.list_subscribers.each do |sim| imsis << sim['imsi'] end client.deactivate_subscriber(imsis) puts 'subscribers deactivate.'
こちらは「deactivate_subscriber」を呼び出している以外は、開始とほぼ同じです。このソースを実行してユーザコンソールを確認すると以下のようになります。
まとめ
以上でSORACOM SDK for RubyよりSIMの使用を開始/休止することができました。SDKにてやりたいことのサンプルが見つからなかった場合は
- APIより該当の機能を見つけること
- SDKよりAPIを呼び出しいるメソッドを見つけること
を検討してみてもいいかもしれません。