リソース
異なる実行中のシミュレーション間でデータを共有するために、リソースを使用することができます。シミュレーションファイル内のリソースプロパティを使用して、データ構造などのリソースを参照してください。
データソースの構造を定義するために、以下のリソースプロパティを使用することができます。
|
リソースプロパティ |
説明 |
例 |
|---|---|---|
|
参照されたリソースファイルへのパス。サポートされているファイル形式はSQliteとCSVです。ファイルを指定しない場合、デフォルトはメモリ内になります。 |
/data/users.csv |
|
|
listEntrySeparator |
デフォルトでは、リソース内のエントリーはカンマで区切られています。このプロパティを設定して、セパレーターを変更してください。 |
, |
|
listPrefix |
左の角括弧はデータ文字列の行を開始します。このプロパティを設定して、接頭辞を変更します。 |
[ |
|
listPostfix |
右の角括弧はデータ文字列の行を終了します。このプロパティを設定して、接尾辞を変更します。 |
] |
|
listSeparator |
\nはデータ文字列の行を区切ります。このプロパティを設定して、区切り文字を変更します。 |
\n |
|
リソースの名前です。このプロパティは必須です。 |
Users |
|
|
プロパティ |
ファイルの列名が定義されていない場合は、このプロパティを指定します。プロパティのリストを設定し、列とデータの文字列の区切り文字を使用します。 |
[name, age] |
|
separator |
Set this property to define what separator character to use when reading or writing CSV files.By default, this is a comma. |
, |
|
テーブル |
リソース内でデータベースを参照する場合は、使用したいテーブルの名前を指定します。リソースごとに、1つのテーブルのみを参照することができます。 |
Customers |
|
データリソースの構造に応じて、以下のオプションが利用可能です。
|
テーブル |
この例では、リソースを参照し、以下の内容を指定します。
-
シミュレーションの名前はService01です。
-
リソースの名前はuserであり、これはテーブル型のSQliteデータベースへの参照です。
-
リスト項目の区切り文字は|パイプです。
-
インバウンドステップtriggerは、Value /userと POST メソッドを含むuriプロパティを持つメッセージを待機します。受信したメッセージがこの条件を満たす場合、プロパティの値であるid、name、ageがバッファの値として保存されます。
注:ここではバッファが、リソースに複数の値を同時に書き込むために使用されます。
-
リソースステップは、バッファされた値をリソースにテーブルの値として挿入します。
schema: SimV1
name: Service01
resources:
- name: user
type: Table
file: ../../resources/db.sqlite
listEntrySeparator: "|"
services:
- name: insert
steps:
- trigger:
- uri: /user
- property: Method
value: POST
buffer:
- jsonPath: id
name: id
- jsonPath: name
name: name
- jsonPath: age
name: age
- resource:
insert:
- ref: user
value: ["{b[id]}", "{b[name]}", "{b[age]}"]
message:
payload: Inserted successfully