Kompira

Menu Menu

Enterprise Technical information

Kompiraの機能 Kompiraオブジェクトのプロパティ,メソッド,フィールドを扱う

Kompira上で扱う管理情報は、「ジョブフロー」や「ノード情報」「環境変数」など多くの種類がありますが、これらは全て「Kompiraオブジェクト」として扱われます。例えばKompiraファイルシステム上での「ディレクトリ」もオブジェクトになります。 これらの「Kompiraオブジェクト」には「プロパティ」、「メソッド」、「フィールド」が定義されています。今回の記事では、これらの扱い方を見ていきましょう。   環境情報 本記事は、以下の環境で検証しております。
項目 バージョン
OS CentOS Linux release 7.7.1908
Kompira ver.1.5.5.post7
    Kompiraオブジェクトの「プロパティ」 各Kompiraオブジェクトには、あらかじめシステムで定義された「プロパティ(オブジェクトの属性情報)」を持っています。例えばオブジェクトのパス、名称、作成日時などがあります。 これらのKompiraオブジェクトのプロパティをジョブフローから参照するには、ドット記法で、 ”オブジェクト名.プロパティ名” と記述します。 プロパティには以下の種類があります。  
プロパティ名 説明
id オブジェクトのID値
abspath オブジェクトの絶対パス
name オブジェクト名
description オブジェクトの説明
display_name オブジェクトの表示名
field_names オブジェクトが備えるフィールド名の一覧
owner オブジェクトの所有ユーザー
created 作成日時
updated 更新日時
parent_object オブジェクトの親オブジェクト
children オブジェクトの子オブジェクト一覧
type_object 型オブジェクト
type_name 型名
user_permissions ユーザ権限
group_permissions グループ権限
  例えば、以下のジョブフローは、”sample_jobflow”というジョブフローの更新日時を表示します。  
print(./sample_jobflow.updated)
  Kompiraオブジェクトの「メソッド」 各オブジェクトは、それらの操作を行うための「メソッド」を持ちます。オブジェクトを削除する”delete”メソッドのように、全てのオブジェクトが共通して持つメソッドと、特定の型のオブジェクトが持つ固有のメソッドがあります。 例えば、以下のジョブフローは”rename”メソッドを用いて、”sample_jobflow”というジョブフローの名前を”sample_jobflow2″に変更します。  
[./sample_jobflow.rename:"sample_jobflow2"]
  共通するメソッドは delete(オブジェクトの削除)、rename(名称の変更)、update(フィールド(後述)の値の更新) があります。 特定の型が持つメソッドとしては、ディレクトリ型の”add”メソッドがあります。これは指定のディレクトリに新しいオブジェクトを作成するものです。例えば、カレントディレクトリ”./”の下に”sample_jobflow”という名前の空のジョブフローを作成します。  
[./.add: "sample_jobflow", /system/types/Jobflow]
  別の例としては、チャネル型の”send”メソッドがあります。これは指定されたチャネルにメッセージを送信します。Alertチャネルに”sample message”というメッセージを送り、それを読み出して表示してみます。  
[/system/channels/Alert.send: "sample message"] ->
</system/channels/Alert> ->
print($RESULT)
  Kompiraオブジェクトの「フィールド」 最後に「フィールド」ですが、これらは画面で設定できる各項目に固有の名前がつけられており、それで参照できるようになっています。   サンプルジョブフロー 上図はジョブフローの編集画面ですが、ここの「source(ソース)」、「multiplicity(多重度)」、「defaultCheckpointMode(デフォルトチェックポイントモード)」などが「フィールド」です。 例えば、次の例は”sample_jobflow”というジョブフローのソースを表示します。  
print(./sample_jobflow.source)
  特に「テンプレート」「メールテンプレート」「環境変数」型などのオブジェクトは、ジョブフロー中からフィールド情報を参照することが多いでしょう。 次の例は”設定情報_環境変数”という環境変数型のオブジェクトのenvironmentフィールドを読み出して表示します。environmentフィールドは”名称”と”値”の組み合わせの辞書型の構造を持ちます。この例では”item1″という名称に対応する値を表示します。  
[config_dic = ./設定情報_環境変数.environment] ->
print(config_dic.item1)
  各オブジェクト型のフィールド情報の種類とデータ型はヘルプ画面の「5.2 Kompiraオブジェクト」に記載がありますので、詳細はヘルプを参照してください。

スタートガイド

Kompiraジョブフローの基礎

ジョブフローの簡単な例

Kompiraの機能

外部との連携