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 描述的相同规则适用于 schemafailOnValidationErrors。唯一的区别是在工作流执行后应用后者的标记。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.