第 1 部: 基本

このチュートリアルの第 1 部では、ロボットのスクリプトと、HighBond API を使用してプロセスの一部を自動化する方法の概要について説明します。

学習内容

ここでは次の項目について学習します。

  • HighBond ロボットで Python/HCL スクリプトを設定、作成、テストする

  • HighBond API を使用して Diligent One オブジェクトを操作する

  • HCL を使用して、一部のデータをインポートおよび変換し、出力をリザルトに保存する

シナリオ:Diligent One で出力結果をリザルト アプリに保存する

ロボットでデータ分析を何回か繰り返して実行する必要があるとします。分析を実行した後に、問題の改善やデータの視覚化を実行するために、出力結果をリザルト アプリに保存します。

データ分析を含むロボット アプリをスケジュールし、夜間に定期的に無人で実行します。夜間の出力結果を格納するテーブルがリザルトに存在するかどうかが問題になったり、手動で一意のテーブル ID を取得しなければならなかったりする状況は避けたいと考えています。スクリプトで名前に基づいて正しいテーブルを自動的に検出するか、指定された名前のテーブルが存在しない場合は新しいテーブルを作成します。

チュートリアルの第 1 部では、このエンドツーエンド プロセスの一部を自動化します。第 2 部では完全に自動化します。

メモ

リザルトのテーブルを使用して、HighBond API の機能を実証します。ただし、API を使用すると、複数の異なる Diligent One アプリで、多数の異なる種類の Diligent One オブジェクトを操作することができます。

詳細については、HighBond API リファレンスコアリソースを検索して、アクセス可能なオブジェクトを確認してください。

Diligent One にサインインして、設定タスクを実行する

まず、組織の Diligent One インスタンスにサインインして、設定タスクを実行する必要があります。このタスクは簡単ですぐに完了します。

メモ:このチュートリアルのすべてのタスクを実行するには、Launchpad システム管理者で、ロボットおよびリザルト アプリへのアクセス権が必要です。

Diligent One にサインインする

リザルト アプリでコレクションと分析を作成する

リザルトで、作成するテーブルを格納するコレクションと分析を作成します。コレクションはリザルトの最上位のコンテナーです。分析は 2 番目のレベルのコンテナーです。

メモ

チュートリアルの第 2 部では、スクリプトを拡張して、この部分の設定を自動化し、手動で実行せずにすむようにします。

コレクションを作成する

分析を作成する

ロボット アプリでロボットを作成する

作成しようとしているスクリプトを含むロボットを作成します。

Launchpad で HighBond API トークンを作成する

HighBond APIを使用するには、HighBond API トークンが必要です。新し位トークンを作成するか、既存のトークンを使用できます。パスワードのようにトークンを保護し、他者と共有しないでください。

インタラクティブ モードでスクリプトを作成してテストする

ロボット スクリプト エディターでスクリプトを作成してテストします。手動でスクリプトを実行したり、スクリプト エディターで個別のスクリプト セルを実行したりすることは、インタラクティブ モードと見なされます。スクリプトを実行するには、手動でスクリプトを操作する必要があります。

このチュートリアルの第 2 部では、スクリプトの実行スケジュールを設定し、無人でスクリプトを実行させます。

メモ

スクリプト エディターで数分以上操作を行わない場合は、スクリプト エディター プロセスが有効期限切れになります。セルを実行しようとしたときに、スクリプト エディターが応答しなかったり、ハングしたりする場合は、スクリプトを保存してコミットしてから、スクリプト エディターをいったん終了し、もう一度スクリプト エディターを起動します。詳細については、「スクリプトを保存し、スクリプト エディターを終了します。」を参照してください。

HighBond API トークンのパスワード変数を作成する

スクリプトを作成する前に、HighBond API トークンのパスワード変数を作成します。

コード ブロックをコピーして、スクリプト エディター セルに貼り付ける

  1. 下の表の各コード ブロックをコピーして、スクリプト エディターの個別のセルに貼り付けます。

    新しいセルをスクリプト エディターに追加するには、スクリプト エディター ツールバーで[下にセルを追加 ]をクリックします。必要に応じて、4 つの空のセルをすぐに追加できます。

  2. セルのコードを貼り付け、コードで指定した更新を実行した後、[選択したセルの実行 ]をクリックすると、出力が表示されます。

詳細はこちら

1 つのセルにすべてのコードを入力できます。ただし、コードを個別のセルに整理すると、スクリプトに視覚的な順序が設定され、異なる論理ブロック間の関係が見やすく、わかりやすくなります。詳細については、セルベースのスクリプト作成の主な特長を参照してください。

ガイドライン

  • 同じ順序を維持する 必ずスクリプト エディター セルのコードが下の表のコードと同じ順序に従うようにします。セルのいずれかの順序が正しくない場合、スクリプトが失敗します。

    メモ

    セルを実行すると、各スクリプト エディター セルの横に数字が表示されます。例:[7]。この数字はセル番号ではありません。これは動的に更新されるシーケンス インジケーターであり、スクリプト セッション中にセルが実行された順序を示します。

  • [コピー]ボタンを使用する 下のコード ブロックで、ブロックにカーソルを置き、[コピー]ボタンを使用して、ブロックのすべてのコードをコピーします。

  • コピーと貼り付けは注意して行う コードのコピーと貼り付けを行うときには、必ずすべてのコードを取得します。Pythonでは、左括弧や右括弧 ( ) などの項目がないとエラーになります。

    コードのみをコピーして貼り付けてください。下のコード ブロックの後にあるセル出力の例は含めないでください。

    注意してコピーと貼り付けを行うと、実行時のエラーを回避できます。

  • セル単位で作業する 出力をセル単位で確認すると、スクリプト ロジックの構造を理解しやすくなります。最初のセルに表示される出力がないとしても、他のセルを実行する前に、そのセルを実行する必要があります。

  • コードのコメントを読む 下の表のコメントのほかに、コードのコメントを読み、コードの処理を理解してください。

    # Comment text

セルの説明とコード ブロック

メモ

任意の時点で Python エラー(赤色のエラー ブロック)が発生した場合は、トラブルシューティングを参照してください。

セル # 説明とコード ブロック
セル 1

必要なコンポーネントをインポートする

セル 1 のコードは追加のコード コンポーネントをインポートします。

  • Python のインポート Python のコア機能を拡張するには、通常、ライブラリ、モジュール、クラスといった追加のコード コンポーネントをインポートする必要があります。Python の初心者の場合でも、このようなコンポーネントの名前やその区別についてそれほど心配する必要はありません。

  • hcl のインポート ロボット スクリプト エディターを開くときはいつでも、HCL ライブラリがデフォルトでインポートされるため、明示的にインポートする必要はありません。import hclは省略できますが、処理の内容を把握するため、ここで明示的に指定します。

セル 2

スクリプトで使用される変数を定義する

セル 2 のコードは複数の変数を定義します。スクリプトで使用される特定の値は変動するため、変数が必要です。

  • 日付変数 スクリプトで作成されるリザルト テーブルの名前には、現在の日付または現在の月のサフィックスが含まれます。

  • テーブル名変数 任意のテーブル名を指定できます。

  • ID 変数 システムで生成されたテーブルの一意の ID と、テーブルが含まれる分析が格納されます。

    メモ

    ロボットからリザルトに出力結果を保存するには、リザルトのターゲット テーブルの一意の ID が必要です。セル 3 では、その ID をプログラムで取得します。

print() 関数では、一部の変数の現在の値を表示できます。

セル 3

リザルトでテーブルを作成する

セル 3 のコードは HighBond API を使用して、前のセルで指定した名前(v_table_name の値)のリザルト テーブルを検索または作成します。

次の 2 つの HCL メソッドで API 要求が実行されます。

  • hcl.api_get – 分析のすべてのテーブルのリストを取得する

  • hcl.api_post – 指定したテーブル名が分析に存在しない場合、その名前のテーブルを作成する

メモ

このコード ブロックはスクリプトのコア値を表します。HighBond API を使用すると、プログラムでリザルト アプリを操作できるため、アプリを手動で開く必要はありません。

つまり、リザルトにテーブルが存在するかどうかを気にせずに、スクリプトを無人で実行し、出力結果を受信することができます。

チュートリアルの第 2 部では、スクリプトを拡張し、これと同じ API ベースのアプローチを使用して、コレクションと分析を自動的に検索または作成します。

セル 4

データ分析を実行する

セル 4 のコードは、シンプルなデータ分析をいくつか実行し、数個の HCL メソッドを示します。

  • hcl.read_csv() – 2 つの CSV ファイルを HCL データフレームにインポートする

  • join() – 共通フィールドでデータフレームを結合する

データフレームはテーブル形式の構造で、行と列にデータを整理します。

メモ

HCL データフレームを出力するデータ分析を代入し、それをリザルト アプリに保存できます。

セル 5

データ分析の出力をリザルト テーブルに保存する

セル 5 のコードは、スクリプトで前に検出または作成されたリザルト テーブルにデータ分析の出力を保存します。HCL メソッド to_hb_results() は HCL データフレームをリザルトに保存します。

新しいテーブルの結果を確認する

リザルト アプリをチェックして、新しいテーブルが作成されたこと、サンプル データ分析の出力結果がテーブルに格納されていることを確認します。

詳細はこちら

自由にスクリプトを実験し、リザルト テーブルを作成するためのさまざまなオプションを試してください。

スクリプトを保存し、スクリプト エディターを終了します。

ロボット開発モードと本番モード

開発モード

ロボット スクリプト エディターを終了するときには、自分がどのモードを使っているのかを必ず確認してください。今はロボット開発モードです。開発モードは黒い背景色の見出しが表示されるモードです。また、[開発モード]ボタンが選択されています。

前の手順で行ったように、スクリプトを対話型で編集または実行するときには、必ず開発モードに戻る必要があります。ロボット本番モードではスクリプトを対話型で編集または実行できません。

本番モード

開発モードと本番モードを切り替えるには、[開発]ボタンと[本番]ボタンを使用します。

本番モードは、明るい背景色の見出しが表示されるモードであり、[本番]ボタンが選択されています。ロボットを再起動するたびに、最初は本番モードになります。

詳細はこちら

2 つのモードの詳細については、ロボットの開発モードと本番モードを参照してください。

学習した内容

おめでとうございます!ここまでに、HighBond API を使用して、ロボットでネイティブ スクリプトを使用するための基本的な内容を学習しました。

特に、次の手順を学習しました。

  • HighBond ロボットで Python/HCL スクリプトを作成およびテストする

  • HighBond API を使用して Diligent One オブジェクトを操作する

  • HCL を使用して、一部のデータをインポートおよび変換し、出力をリザルトに保存する

次の手順

チュートリアルの第 2 部では、次のプロセスを完全に自動化します。

  • スクリプトを展開して、リザルト アプリで手動でコレクションまたは分析を作成せずにすむようにする

  • スケジュールされたタスクを作成し、スクリプトを無人で実行できるようにする

次の手順 > 第 2 部: 知識を強化する

 

トラブルシューティング

セルまたはスクリプト全体を実行するときに、Python エラー(赤色のエラー ブロック)が発生する場合は、以下のトラブルシューティング手順を実行します。