Go to main content
Oracle® ZFS Storage Appliance 管理ガイド、Release OS8.7.0

印刷ビューの終了

更新: 2017 年 3 月
 
 

ワークフローについて

ワークフローは、1 つの大域変数 workflow が含まれている、有効な ECMAscript ファイルに組み込まれています。これは、少なくとも次の 3 つのメンバーを含む必要のあるオブジェクトです。

表 139  必須のオブジェクトメンバー
必須メンバー
タイプ
説明
name
文字列
ワークフローの名前
description
文字列
ワークフローの説明
execute
関数
ワークフローを実行する関数
使用例 18  Hello World ワークフロー

次に、基本的なワークフローの例を示します。

var workflow = {
       name: 'Hello world',
       description: 'Bids a greeting to the world',
       execute: function () { return ('hello world!') }
};

このワークフローをアップロードすると「Hello world」という名前の新しいワークフローが作成され、このワークフローを実行すると「hello world!」が出力されます。

使用例 19  ワークフローの run 関数を使用して CPU 使用率を返す

ワークフローは、アプライアンスのシェル内で非同期に (デフォルトでは) そのワークフローを実行しているユーザーとして実行されます。そのため、ワークフローはアプライアンスのスクリプト機能 (CLI スクリプトの操作を参照) を自由に使用でき、さらにアプライアンスのシェルのほかの任意のインスタンスと同じようにアプライアンスと対話できます。つまり、ワークフローはコマンドを実行したり、出力を解析したり、状態を変更したりできます。run 関数を使用して現在の CPU 使用率を返す、より複雑な例を次に示します。

var workflow = {
       name: 'CPU utilization',
       description: 'Displays the current CPU utilization',
       execute: function () {
               run('analytics datasets select name=cpu.utilization');
               cpu = run('csv 1').split('\n')[1].split(',');
               return ('At ' + cpu[0] + ', utilization is ' + cpu[1] + '%');
       }
};