オブジェクトストアを使用して値を次のように保存できます。
<os:store key="state">
<os:value>
<![CDATA[#[
output application/json
---
{
"id": attributes.queryParams.id,
"timestamp": now(),
"name": payload.name
}
]]]>
</os:value>
</os:store>
Store 操作を使用し、failIfPresent パラメーターの値に応じて、新しい値を保存するか、既存の値を更新することができます。このパラメーターが false (デフォルト) に設定されている場合、そのキーに関連付けられている既存の値があれば上書きされます。パラメーターが true に設定されている場合、代わりに OS:KEY_ALREADY_EXISTS エラーが発生します。
null 値の保存はできません。ただし一般的には、次のように式またはトランスフォーメーションを評価して値を取得します。
-
値が null ではないことを検査します。
-
値が存在すれば保存します。
-
それ以外の場合は、何も行いません。
failOnNullValue パラメーターでこのユースケースが簡略化されます。デフォルト (true) では、null 値が指定されると OS:NULL_VALUE エラーが発生します。ただし、パラメーターが false に設定されている場合、null 値が指定されるとこの操作では何も行われません。エラーは発生せず、値は変更されません。