Dr.SumにはいくつかWeb APIが用意されています。Dr.Sumの稼働監視をしたり、ファイルをアップロードしたり、DS Scriptのファイル実行したりなど様々なものが用意されています。本記事では各Web APIを使うための方法について紹介します!
例えば稼働監視Web APIを使って、Dr.Sumサーバーに異常が発生して動作しなくなった際にメールを送信して即座に対応するといった仕組みを構築できます。またDS Scriptで作成したスクリプトを実行する事もできるので、自由度の高い処理を運用に組み込むことが可能です。
事前準備
Dr.Sum Cloud Hubの起動
Web APIはDr.Sum Cloud Hubを経由して利用します。クラウド版を利用している方は初期状態で起動しています。オンプレ版で行う場合は、サービスからDr.Sum Cloud Hubサービスが起動されているか確認しましょう。
Web APIの利用ユーザー・グループの登録
Cloud Hubを起動すると、Web Consoleにアクセスできるようになります。ブラウザを開き、Web Consoleにアクセスします。クラウド版ではWeb Console(Cloud Hubサーバー)へのアクセスはHTTPS(ポート443)を利用するので環境に合わせて変更してください。
http(s)://<サーバー名>:6580/webconsole/
オンプレ版の例:http://localhost:6580/webconsole/
クラウド版の例:https://hogehoge.drsum.com/webconsole/
左のメニューから[Web Console管理]をクリックします。その後、[スーパーユーザーの設定]および[Web APIの実行ユーザーの設定]にそれぞれグループ・ユーザーを設定します。最後に[適用]ボタンを押します。
グループの権限には基本的には何も与えずに利用できます。ただし、DS Scriptのスクリプトを実行するWeb APIを使うときはデータベースの操作権限やスクリプトファイルへのアクセス権限などが必要なので、詳細はマニュアルをご参照ください。
Dr.Sum Web APIの使い方
APIとはApplication Programming Interfaceの略で、各企業が持っている基幹システムやその他様々なサービスとデータをやり取りする仕組みです。API自体はJavaやPythonなどのプログラム上で利用できる形式で提供されることが多く、自由度が高くサービスの開発効率を大幅に増加させますが知識がないと扱いづらいです。
その中でもWeb APIは、HTTPおよびHTTPSというルールでやり取りできる仕組みです。ブラウザでURLをたたくような感覚で利用でき、より多くのユーザーが扱えるようになっています。
Web APIの利用にあたって、大まかに分けて必要な情報が5つあります。
- サーバーURL
- ヘッダ
- リソースURI
- メソッド
- パラメータ
それぞれDr.SumのWeb APIを例に説明していきます。
サーバーURL
サーバーURLは「どのDr.Sumへアクセスするか?」を決める情報になります。
http(s)://[IP or ホスト名]:[ポート番号]/[コンテキスト]
Cloud Hubへアクセスするためポート番号はデフォルトで「6580」です。コンテキストは利用するWeb APIによって異なります。基本的には「api」ですが、「稼働監視」のWeb APIの場合は「webconsole」になります。
オンプレ版の例:http://localhost:6580/api
クラウド版の例:https://hogehoge.drsum.com/api
ヘッダ
Dr.SumのWeb APIを使うユーザーはBASIC認証を使って通信を行います。BASIC認証自体はID/パスワードを平文で送る方法のため、HTTPSでの通信方式が推奨されています。後に紹介するcURLを使った方法では、下記のようにダブルコロン「:」で区切ってユーザーID/パスワードを指定します。
curl --basic -u "userid:password"
リソースURI
リソースURIは利用するWeb APIによって異なりますので、利用する際はそれぞれのマニュアルページをご覧ください。例えば「ルートパスを取得する」Web APIは下記がリソースURIになります。
メソッド
Dr.SumのWebAPIでは「GET」もしくは「POST」のどちらかのメソッドを使います。どのメソッドを使うかはWeb APIごとに異なりますが、Dr.Sumからなにかデータを取得する場合(ファイル一覧の取得や稼働状況の取得)はGET、データを送る場合(ファイルなどをアップロード)はPOSTを指定するケースが多いです。どのメソッドを利用するかは各Web APIのマニュアルに記載がありますのでご参照ください。後に紹介するcURLを使った方法では、下記のように「-X [メソッド名]」と指定します。
パラメータ
各Web APIごとに必要なパラメータが異なっています。例えば、ファイル一覧を取得するAPIの場合は「どのフォルダの一覧を取得するか」を指定するパラメータが用意されています。cURLを使う場合は下記のように「-F “[パラメータ名]=[値]”」と指定します。指定スべきパラメータについては各Web APIのマニュアルをご参照ください。
curl -F "dir_path=C:/DrSum56/CloudHubServer/webconsole/test"
cURLを使って実際にWeb APIを使ってみる!
Web APIを使う上で必要な情報がそろったところで、早速Web APIを使ってみましょう。今回はWindows・Linux ともに標準で利用できるcURLというコマンドを使った方法を紹介します。前章で紹介したサーバーURL、ヘッダ(認証情報)、リソースURI、メソッド、パラメータをそれぞれ繋げて記述します。「ルートパスを取得する」Web APIを例にすると、下記のように記述します。
curl -i --basic -u "userid:password" -X GET http://localhost:6580/api/v1.0/file/root
ではコマンドを入力してEnterを押して実行してみましょう。cURLでは「-i」を指定することで、コマンドが成功したかといった結果(レスポンスと呼びます)を確認することができます。成功するとこのようなテキストが出力されます。
HTTP/1.1 200
Content-Type: application/json
Content-Length: 28
Date: Wed, 07 Jun 2023 15:45:00 GMT
{"root_path":["C:/DrSum56"]}
一行目の「200」という番号はステータスコードと呼ばれ、200だと成功、404だとURLが間違っている可能性が高いです。特に、エラーコードが401及びエラーメッセージに「Authentication failed.」などと返ってきた場合はユーザーID/パスワードが間違っている可能性が高いので見直してみましょう!
まとめ
本記事では、Dr.SumのWeb APIの簡単な使い方を紹介しました。Dr.SumにはたくさんのWeb APIが用意されています!
Web APIを使って日々の業務の効率化を実現いただければと思います!今後は各Web APIにフォーカスした記事を紹介する予定です。