Microsoft Azureにホストされたサービスからスクリプトを実行したい

キーワード:Azure Service Bus,Microsoft Azure
シナリオ一覧に戻る

概要

Microsoft Azureにホストされたサービスからスクリプトを実行したい場合、Azure Service Busトリガーを使用します。
Azure Service Busトリガーの詳細については、「Azure Service Busトリガー」を参照してください。

サンプルプロジェクトの説明

Microsoft Azureから入力された「ファイルID」をもとに対象のファイルを読み取り、実行結果と読み取り件数を取得します。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. 例外監視処理」で例外を監視します。
  2. CSVファイル読み取り処理」でファイルIDで指定されたファイルを読み取ります。
  3. 変数代入処理」で読み取ったデータの件数および実行結果をスクリプト変数に代入します。
  4. エラーが発生した場合、「変数代入処理」でエラー時の件数および実行結果をスクリプト変数に代入します。
実行結果のイメージについて

ポイントとなる機能

名前 説明
Azure Service Busトリガー Azure Service Busトリガーは、Microsoft AzureにホストされたサービスからMicrosoft Azure Service Bus(以下「Azure Service Bus」)経由でメッセージを送信することで、スクリプトを実行するトリガー機能です。

処理のポイント

メッセージ送信時、実行するスクリプトのスクリプト入力変数に代入する値を渡すことができます。
またスクリプト実行後、Microsoft Azureにホストされたサービスでメッセージを受信し、スクリプト出力変数の値や終了ステータスなどの実行結果を取得することができます。
Microsoft Azureにホストされたサービスからメッセージを送受信するには、付属するC#ライブラリを使用して行います。
詳細については、「Azure Service Busトリガーチュートリアル」を参照してください。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトファイル名 rl_reference_086.zip
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_086.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_086.zip」を展開後に作成される「rl_reference_086プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_086プロジェクト」をアップロードしてください。

  3. サンプルデータの準備
    「rl_reference_086.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

  4. プロジェクトをサービスとして登録
    スクリプトをMicrosoft Azureにホストされたサービスから実行するため、プロジェクトをサービスとして登録します。
    デザイナから[ファイル]-[プロジェクトをサービスとして登録]を選択して登録します。
    サービス名は、「root@rl_reference_086プロジェクト」を設定します。

  5. Azure Service Busトリガーの作成
    マイトリガーの画面から[ファイル]-[新規トリガー作成]を選択し、Azure Service Busトリガーを作成します。
    Azure Service Busトリガーは、以下のように設定します。

    [Azure Service Busトリガーの設定]


    本プロパティの設定は実行環境に合わせて変更してください。

    [実行内容の設定]



    処理のポイント
    • Microsoft Azureにホストされたサービスでスクリプト出力変数の値を受け取る場合は、[スクリプト引数][出力変数]に設定された[変数名]をキーに取得してください。

スクリプトの作成手順

プロセスフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. Microsoft Azureとの入出力変数として使用するスクリプト変数を作成します。

  2. デザイナのツールパレット「基本」-「フロー」-「例外監視」から、例外監視処理をスクリプトキャンバスに配置します。

  3. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。

  4. デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理(「variable」)をスクリプトキャンバスに配置します。

  5. 変数代入処理(「variable」)のMapperエディタを開き、成功時のファイル読み取り結果をスクリプト変数に代入します。

  6. デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理(「variable(1)」)をスクリプトキャンバスに配置します。

  7. 変数代入処理(「variable(1)」)のMapperエディタを開き、失敗時のファイル読み取り結果をスクリプト変数に代入します。

  8. スクリプトを実行し、正常終了すれば成功です。