• サービス紹介
  • SDPFナレッジセンター
  • 開発者レポート
  • リリースノート
  • API仕様
  • FAQ
  • お問い合わせ
Cumulocity IoT
このドキュメントについて IoTソリューション ユースケース Things Cloudコンセプト ユーザーガイド プロトコル統合ガイド カスタムストリーミング処理ガイド デバイス統合 デバイス統合チュートリアル Web SDKガイド リファレンス よくあるご質問 リリースノート 開発者レポート 開発者レポート
レポート一覧
Observable を活用したIoTデータ可視化の探索からカスタムウィジェット開発までのチュートリアル
テンプレートを用いたテーブルウィジェットのカスタマイズ
ユースケースを基にしたダッシュボードの設定方法
Step1 解説編 (工事現場ユースケース) Step2 問題編 (機器監視ユースケース)
Analytics Builder をはじめる
はじめに Apama Analytics Builderの強みと活用シーンについて イベント処理モデルを作成する 例題 リファレンス
Apama EPL をはじめる
はじめに Apama EPLコードを書く Apama 例題
htmlウィジェット開発
SCADA ウィジェットによるデータ可視化
Postmanを使用したMeasurement/Eventのデータ取得方法
pythonを使ってMeasurement/Eventデータを取得しcsvに変換する方法
Postmanを使用したMeasurementデータの格納方法
API 経由での Measurement 格納
Postmanを使ってMeasurementデータを一括アップロードする方法
Rubyによるリアルタイム通知
CEPスクリプトを書く(基本編)
CEPスクリプトを書く(応用編)
Web SDK for Angular を利用したカスタムアプリケーションの作り方
Web SDK for Angular を利用したカスタムウィジェットの作り方1
Web SDK for Angular を利用したカスタムウィジェットの作り方2
ロゴや配色を変更する方法
Sensor App(スマートフォンアプリ)の利用開始方法と利用例
MQTT対応のエージェントを利用しメジャーメントを送信する方法
権限管理について
Single Sign On セットアップマニュアル
CLIツールの使い方
Alarm の利用について

CLIツールの使い方

投稿日 / 投稿者名

2021.04.13 / 伊藤 貴哉

はじめに

本レポートは、Things Cloud の利用例をより知っていただくための実利用レポートとして作成したものです。
Things Cloud は極力後方互換性を持つよう開発されていますが、今後のリリースにより、一部画面やコマンド、手順などが変更となったり、利用できない可能性があることをあらかじめご了承ください。
なお、作成にあたり、以下バージョンを用いています。

  • ver.10.6.6.32(backend/UI)

難易度 ★★

所要時間

この手順に沿って、「CLIツールの使い方」を実現するまでの所要時間。

  • 約60分

概要

本レポートでは、Things CloudのAPIをコマンドライン上で打つことができるツールを利用する方法を紹介します。このツールを利用することで、スクリプト等と組み合わせることにより、繰り返しのコマンド処理を自動で行うこと等ができる様になります。

前提条件

  • コマンドラインツール(Windows:Powershell・コマンドプロンプト, Mac:ターミナル) に関する基本的な知識・操作
  • shell(windows:cmd.exe,mac:shell)に関する基本的な知識

注意事項

  • 本ツールはPython3で動作しております。
  • 本ツールを使用する際のいかなる動作についても、当社は一切責任を負いかねます。予めご了承願います。

CLIツールとは

  • Things CloudではAPIを提供しています。そのAPIをコマンドライン上で打つことができるツールとなります。

作業の流れ

  1. Python環境のインストール
  2. CLIツールのインストール
  3. テナント環境情報をファイル化
  4. CLIツールの実行
  5. 実行例
  6. ドキュメント



1. Python環境のインストール

Macの場合

1. Homebrewのインストール

ターミナルを開き、次のコマンドを入力してください。(しばらく時間がかかります)

備考: 既にインストール済みの場合は次に進んでください

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew update
$ brew install git

下記コマンドでメッセージが返ってくるとインストール完了です。

$ brew doctor
Your system is ready to brew.

2. pyenvのインストール

備考: pyenv及び対象のpythonをインストール済みの場合は CLIツールのインストール に進んでください

  • pyenv の導入
brew install pyenv
  • パスを通す(zshの場合) - Macの最新バージョンはデフォルトでzshになっています
$ cat << 'EOS' >> ~/.zshrc
export PYENV_ROOT="$HOME/.pyenv"
eval "$(pyenv init -)"
EOS
$ zsh -l
  • パスを通す(bashの場合)
$ cat << 'EOS' >> ~/.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
eval "$(pyenv init -)"
EOS
$ source ~/.bash_profile

下記コマンドでメッセージが返ってくるとインストール完了です。

$ pyenv versions
  system

3. pythonのインストール

必要なバージョンをインストールします。今回は3.8.1をインストールするので、以下を実行します。

pyenv install 3.8.1

使うバージョンを指定します。

pyenv global 3.8.1

設定結果を確認します。以下を実行して指定したバージョンであることを確認します。(pipのバージョンは、pythonのバージョンによって変動します)

$ python --version
Python 3.8.1

$ pip --version
pip 20.0.2

備考: Macの最新バージョンはデフォルトでzshに設定されている為、適宜デフォルト設定をbashに変更してください。

Windowsの場合

備考: pyenvをインストール済みの場合は 次 に進んでください

1. pyenvのインストール

こちら から pyenv-win のzipファイルをダウンロードします。windowsのコマンドプロンプトを管理者権限で開き、下記コマンドの実行結果が指すディレクトリ(多くの場合は C:\Users\ユーザ名 )に展開します。

> echo %USERPROFILE%

展開すると下のファイルとディレクトリが展開されるので、ディレクトリ pyenv-win-master を .pyenv に変更します。

pyenv-win-master
│  .gitignore
│  .python-version
│  .version
│  LICENSE
│  mirrors.txt
│  README.md
│  requirements.txt
│  setup.py
│  _config.yml
│
├─.github
│  └─ISSUE_TEMPLATE
│          bug_report.md
│          feature_request.md
│
├─pyenv-win
│  │  __init__.py
│  │
│  ├─bin
│  │      pyenv
│  │      pyenv.bat
│  │
│  └─libexec
│          pyenv---version.bat
│          pyenv-commands.bat
│          pyenv-duplicate.bat
│          pyenv-exec.bat
│          pyenv-export.bat
│          pyenv-global.bat
│          pyenv-help.bat
│          pyenv-install.vbs
│          pyenv-local.bat
│          pyenv-rehash.bat
│          pyenv-shell.bat
│          pyenv-shims.bat
│          pyenv-uninstall.vbs
│          pyenv-version.bat
│          pyenv-versions.bat
│          pyenv-whence.bat
│          pyenv-which.bat
│          pyenv.vbs
│
└─tests
        test_install.bat
        test_uninstall.bat

変更後にdir コマンドで pyenv コマンドの位置を確認します。エラーが返らずに正常に実行結果が返ってくればOKです。

> dir %USERPROFILE%\.pyenv\pyenv-win\bin\pyenv

環境変数を設定します。

  1. スタートボタンを右クリック -> システムをクリック
  2. 設定ウィンドウ が開くので、右側タブのシステム情報をクリック
  3. システムウィンドウ が開くので、左側タブのシステムの詳細設定をクリック
  4. システムのプロパティウィンドウ が開くので、環境変数をクリック
  5. 環境変数ウィンドウ が開くので、[ユーザー名]のユーザ環境変数の新規をクリック
  6. 新しいシステム変数ウィンドウが開くので、以下を追加しOKをクリック
変数名: PYENV
変数値: %USERPROFILE%¥.pyenv¥pyenv-win
  1. [ユーザー名]のユーザ環境変数のPathをクリック後編集をクリック 環境変数名の編集ウィンドウが開くので、新規をクリックし以下を追加後OKをクリック
%PYENV%¥bin
%PYENV%¥shims

以上で環境変数の設定は終了です。適宜OKをクリックし、開いたタブは閉じてください。

以下のコマンドでインストール可能なpythonのバージョンを確認します。ここでエラーが返ってこなければ、正常にpyenvがインストールされています。

pyenv install -l

備考: 対象のpythonをインストール済みの場合は CLIツールのインストール に進んでください

2. pythonのインストール

必要なバージョンをインストールします。今回は3.8.1をインストールするので、以下を実行します。

pyenv install 3.8.1

使うバージョンを指定します。

pyenv global 3.8.1

%USERPROFILE%\.pyenv\pyenv-win\shims% を更新するために以下を実行します。

pyenv rehash

設定結果を確認します。以下を実行して指定したバージョンであることを確認します。(pipのバージョンは、pythonのバージョンによって変動します)

> python --version
Python 3.8.1

> pip --version
pip 20.0.2

2. CLIツールのインストール

次のzipファイルをダウンロード・展開してください。

  • clitool.zip

macの場合

clitool ディレクトリが展開されるので、ターミナル を開き以下を実行してください。

$ cd [clitoolが配置されているディレクトリ]
$ mv clitool/ $HOME
$ cd $HOME/clitool
$ pip install -r requirements.txt
$ pip install dist/cumulocity-py-cli-0.0.2.tar.gz
$ pip install -e .

windowsの場合

clitool ディレクトリが展開されるので、コマンドプロンプトを開き以下を実行してください。

> cd [clitoolが配置されているディレクトリ]
> mv clitool/ %USERPROFILE%
> cd %USERPROFILE%/clitool
> pip install -r requirements.txt
> pip install dist/cumulocity-py-cli-0.0.2.tar.gz
> pip install -e .

3. テナント環境情報をファイル化

macの場合

以下のコマンドでテナント環境情報を記載したファイルを作成し、わかりやすいフォルダに配置します。(フォルダは事前に作成しておいてください) ここでは、$HOME/Desktop/tenantinfo の mytenant.sh に記載しています。

$ cat << 'EOS' >> ~/Desktop/tenantinfo/mytenant.sh
export OS_USERNAME='<username>'
export OS_PASSWORD='<password>'
export OS_ENDPOINT='<endpoint>'
export OS_TENANTID='<tenantid>'
EOS

windowsの場合

テキストエディタ(メモ帳やvscode等)で以下を入力し、所定の場所に配置します。(ここでは%USERPROFILE%/Desktop/tenantinfo の mytenant.bat に記載しています。)

set OS_USERNAME=<username>
set OS_PASSWORD=<password>
set OS_ENDPOINT=<endpoint>
set OS_TENANTID=<tenantid>

username

Things Cloudへログインする際の ユーザー名 へ入力する値を記載します。

password

Things Cloudへログインする際の パスワード へ入力する値を記載します。

endpoint

Things Cloudへログインした際に、ブラウザに表示されるURLを記載します。URLにおける最初の / の前までが対象です。

  • 例: https://****.je1.thingscloud.ntt.com

tenantid

Things CloudのUIで、右上のユーザ名をクリックした際に表示される テナントID の値を記載します。

4. CLIツールの実行

3. テナント環境情報をファイル化 で作成したファイルを以下のコマンドで読み込みます。読み込むPathは適宜変更してください。

macの場合

$ source ~/Desktop/tenantinfo/mytenant.sh

windowsの場合

> C:¥Users¥hoge¥Desktop¥tenantinfo¥mytenant.bat

コマンドを実行します。以下の例では指定したIDのメジャーメント情報を表示します。

$ cum measurement show 3336258
+---------+----------------------------+-------------+-------------------------------+------------------------------------------------------------+
|      id | measurement type           |   device_id | time                          | body                                                       |
+=========+============================+=============+===============================+============================================================+
| 3075362 | c8y_TemperatureMeasurement |       73558 | 2020-10-06T14:50:00.000+09:00 | {'c8y_TemperatureMeasurement': {'unit': 'C', 'value': 20}} |
+---------+----------------------------+-------------+-------------------------------+------------------------------------------------------------+

5. 実行例

GET(LIST)

$ cum event list 73558
+---------+--------------+-------------+
|      id | event type   |   device id |
+=========+==============+=============+
| 6573082 | com_test     |       73558 |
+---------+--------------+-------------+
| 6573173 | com_test2    |       73558 |
+---------+--------------+-------------+

GET(SHOW)

$ cum event show 6573082
+---------+--------------+-------------+-------------------------------+------------------+
|      id | event type   |   device_id | time                          | text             |
+=========+==============+=============+===============================+==================+
| 6573082 | com_test     |       73558 | 2021-04-12T10:54:00.000+09:00 | Location updated |
+---------+--------------+-------------+-------------------------------+------------------+

POST

$ cum event create 'com_test' '2021-04-21T10:30:00.000+09:00' 'test' 73558
+---------+--------------+-------------+-------------------------------+--------+
|      id | event type   |   device_id | time                          | text   |
+=========+==============+=============+===============================+========+
| 6610593 | com_test     |       73558 | 2021-04-21T10:30:00.000+09:00 | test   |
+---------+--------------+-------------+-------------------------------+--------+

PUT

$ cum event update 'update' 6610593
+---------+--------------+-------------+-------------------------------+--------+
|      id | event type   |   device_id | time                          | text   |
+=========+==============+=============+===============================+========+
| 6610593 | com_test     |       73558 | 2021-04-21T10:30:00.000+09:00 | update |
+---------+--------------+-------------+-------------------------------+--------+

DELETE

$ cum event delete 6610593
(deleteコマンドは結果が返ってきません)

6. ドキュメント

CLIツールのドキュメントに関しては以下からダウンロードできます。

  • clitooldoc.zip

2021年 4月 16日現在、メジャーメント,アラーム,イベント,インベントリ(マネージドオブジェクト)のみに対応しています。

© 2025 NTT Communications. All rights reserved.