6.5. 架构定义
OpenShift Serverless Logic 支持两种类型的架构定义:输入架构定义和输出架构定义。
6.5.1. 输入模式定义
dataInputSchema
参数根据定义的 JSON
架构验证工作流数据输入。提供数据InputSchema
非常重要,因为它用于在执行任何工作流状态前验证所提供的工作流数据输入是否正确。
您可以按照以下方式定义 数据InputSchema
:
数据InputSchema
定义示例
"dataInputSchema": { "schema": "URL_to_json_schema", "failOnValidationErrors": false }
schema 属性是一个 URI,其中包含用于验证工作流数据输入的 JSON 模式的路径。URI 可以是类路径 URI、文件或 HTTP URL。如果指定了 classpath URI,则 JSON 模式文件必须放在项目的资源部分或 classpath 中包含的任何其他目录中。
failOnValidationErrors
是一个可选标志,表示输入数据与指定的 JSON 模式不匹配时采用的行为。如果没有指定或设置为 true
,则抛出异常,流执行会失败。如果设置为 false
,则执行流,并输出验证错误的级别 WARN 日志。
6.5.2. 输出架构定义
在工作流执行后应用输出架构定义,以验证输出模型是否具有预期的格式。它也可用于 Swagger 生成目的。
与 Input 模式定义类似,您必须使用 outputSchema
指定到 JSON 模式的 URL,如下所示:
outputSchema
定义示例
"extensions" : [ { "extensionid": "workflow-output-schema", "outputSchema": { "schema" : "URL_to_json_schema", "failOnValidationErrors": false } } ]
为 dataInputSchema
描述的相同规则适用于 schema
和 failOnValidationErrors
。唯一的区别是在工作流执行后应用后者的标记。