REST API 指南

本节介绍 Spring Cloud Data Flow REST API。spring-doc.cn

43. 概述

Spring Cloud Data Flow 提供了一个 REST API,允许您访问服务器的所有方面。 事实上,Spring Cloud Data Flow shell 是该 API 的一流使用者。spring-doc.cn

如果您计划将 REST API 与 Java 一起使用,则应考虑使用 提供了内部使用 REST API 的 Java 客户端 ()。DataflowTemplate

43.1. HTTP 动词

Spring Cloud Data Flow 在使用 HTTP 动词时,会尝试尽可能严格遵守标准 HTTP 和 REST 约定,如下表所述:spring-doc.cn

动词 用法

GETspring-doc.cn

用于检索资源。spring-doc.cn

POSTspring-doc.cn

用于创建新资源。spring-doc.cn

PUTspring-doc.cn

用于更新现有资源,包括部分更新。也用于 隐含 概念的资源,例如 Tasks。restartsspring-doc.cn

DELETEspring-doc.cn

用于删除现有资源。spring-doc.cn

43.2. HTTP 状态代码

Spring Cloud Data Flow 在使用 HTTP 状态代码时,会尝试尽可能严格遵守标准 HTTP 和 REST 约定,如下表所示:spring-doc.cn

状态代码 用法

200 OKspring-doc.cn

请求已成功完成。spring-doc.cn

201 Createdspring-doc.cn

已成功创建新资源。资源的 URI 可从响应的标头中获得。Locationspring-doc.cn

204 No Contentspring-doc.cn

已成功应用对现有资源的更新。spring-doc.cn

400 Bad Requestspring-doc.cn

请求格式不正确。响应正文包含提供更多信息的错误描述。spring-doc.cn

404 Not Foundspring-doc.cn

请求的资源不存在。spring-doc.cn

409 Conflictspring-doc.cn

请求的资源已存在。例如,任务已存在或流已在部署spring-doc.cn

422 Unprocessable Entityspring-doc.cn

在无法停止或重新启动任务执行的情况下返回。spring-doc.cn

43.3. 标头

每个响应都有以下标头:spring-doc.cn

名字 描述

Content-Typespring-doc.cn

有效负载的 Content-Type,例如application/hal+jsonspring-doc.cn

43.4. 错误

路径 类型 描述

errorspring-doc.cn

Stringspring-doc.cn

发生的 HTTP 错误,例如Bad Requestspring-doc.cn

messagespring-doc.cn

Stringspring-doc.cn

错误原因的描述spring-doc.cn

pathspring-doc.cn

Stringspring-doc.cn

发出请求的路径spring-doc.cn

statusspring-doc.cn

Numberspring-doc.cn

HTTP 状态代码,例如400spring-doc.cn

timestampspring-doc.cn

Stringspring-doc.cn

发生错误的时间(以毫秒为单位)spring-doc.cn

43.5. 超媒体

Spring Cloud Data Flow 使用超媒体,并且资源包含指向其他资源的链接 在他们的回答中。 响应采用 Hypertext Application from resource-to-resource Language (HAL) 格式。 链接可以在密钥下方找到。 API 的用户不应自行创建 URI。 相反,他们应该使用上述链接进行导航。_linksspring-doc.cn

44. 资源

API 包括以下资源:spring-doc.cn

44.1. 索引

该索引提供了 Spring Cloud Data Flow 的 REST API 的入口点。 以下主题提供了更多详细信息:spring-doc.cn

44.1.1. 访问索引

使用请求访问索引。GETspring-doc.cn

请求结构
GET / HTTP/1.1
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/' -i -X GET
响应结构
路径 类型 描述

_linksspring-doc.cn

Objectspring-doc.cn

指向其他资源的链接spring-doc.cn

['api.revision']spring-doc.cn

Numberspring-doc.cn

每次在此 REST API 中实施更改时递增spring-doc.cn

_links.audit-records.hrefspring-doc.cn

Stringspring-doc.cn

链接到审核记录spring-doc.cn

_links.dashboard.hrefspring-doc.cn

Stringspring-doc.cn

链接到仪表板spring-doc.cn

_links.streams/definitions.hrefspring-doc.cn

Stringspring-doc.cn

链接到流/定义spring-doc.cn

_links.streams/definitions/definition.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/definitions/definitionspring-doc.cn

_links.streams/definitions/definition.templatedspring-doc.cn

Booleanspring-doc.cn

链接流/定义/定义已模板化spring-doc.cn

_links.runtime/apps.hrefspring-doc.cn

Stringspring-doc.cn

链接到 runtime/appsspring-doc.cn

_links.runtime/apps/{appId}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 runtime/apps/{appId}spring-doc.cn

_links.runtime/apps/{appId}.templatedspring-doc.cn

Booleanspring-doc.cn

链接 runtime/apps 已模板化spring-doc.cn

_links.runtime/apps/{appId}/instances.hrefspring-doc.cn

Stringspring-doc.cn

链接到 runtime/apps/{appId}/instancesspring-doc.cn

_links.runtime/apps/{appId}/instances.templatedspring-doc.cn

Booleanspring-doc.cn

链接 runtime/apps/{appId}/instances 已模板化spring-doc.cn

_links.runtime/apps/{appId}/instances/{instanceId}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 runtime/apps/{appId}/instances/{instanceId}spring-doc.cn

_links.runtime/apps/{appId}/instances/{instanceId}.templatedspring-doc.cn

Booleanspring-doc.cn

链接 runtime/apps/{appId}/instances/{instanceId} 已模板化spring-doc.cn

_links.runtime/streams.hrefspring-doc.cn

Stringspring-doc.cn

链接到 runtime/streamsspring-doc.cn

_links.runtime/streams.templatedspring-doc.cn

Booleanspring-doc.cn

链接运行时/流已模板化spring-doc.cn

_links.runtime/streams/{streamNames}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 runtime/streams/{streamNames}spring-doc.cn

_links.runtime/streams/{streamNames}.templatedspring-doc.cn

Booleanspring-doc.cn

链接 runtime/streams/{streamNames} 已模板化spring-doc.cn

_links.streams/logs.hrefspring-doc.cn

Stringspring-doc.cn

链接到流/日志spring-doc.cn

_links.streams/logs/{streamName}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/logs/{streamName}spring-doc.cn

_links.streams/logs/{streamName}/{appName}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/logs/{streamName}/{appName}spring-doc.cn

_links.streams/logs/{streamName}.templatedspring-doc.cn

Booleanspring-doc.cn

链接 streams/logs/{streamName} 已模板化spring-doc.cn

_links.streams/logs/{streamName}/{appName}.templatedspring-doc.cn

Booleanspring-doc.cn

链接 streams/logs/{streamName}/{appName} 已模板化spring-doc.cn

_links.streams/deployments.hrefspring-doc.cn

Stringspring-doc.cn

链接到流/部署spring-doc.cn

_links.streams/deployments/{name}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/deployments/{name}spring-doc.cn

_links.streams/deployments/{name}.templatedspring-doc.cn

Booleanspring-doc.cn

链接 streams/deployments/{name} 已模板化spring-doc.cn

_links.streams/deployments/deployment.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/deployments/deploymentspring-doc.cn

_links.streams/deployments/deployment.templatedspring-doc.cn

Booleanspring-doc.cn

链接流/部署/部署已模板化spring-doc.cn

_links.streams/deployments/manifest/{name}/{version}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/deployments/manifest/{name}/{version}spring-doc.cn

_links.streams/deployments/manifest/{name}/{version}.templatedspring-doc.cn

Booleanspring-doc.cn

链接流/deployments/manifest/{name}/{version} 已模板化spring-doc.cn

_links.streams/deployments/history/{name}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/deployments/history/{name}spring-doc.cn

_links.streams/deployments/history/{name}.templatedspring-doc.cn

Booleanspring-doc.cn

链接流/部署/历史记录已模板化spring-doc.cn

_links.streams/deployments/rollback/{name}/{version}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/deployments/rollback/{name}/{version}spring-doc.cn

_links.streams/deployments/rollback/{name}/{version}.templatedspring-doc.cn

Booleanspring-doc.cn

链接流/deployments/rollback/{name}/{version} 已模板化spring-doc.cn

_links.streams/deployments/update/{name}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/deployments/update/{name}spring-doc.cn

_links.streams/deployments/update/{name}.templatedspring-doc.cn

Booleanspring-doc.cn

链接 streams/deployments/update/{name} 已模板化spring-doc.cn

_links.streams/deployments/platform/list.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/deployments/platform/listspring-doc.cn

_links.streams/deployments/scale/{streamName}/{appName}/instances/{count}.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/deployments/scale/{streamName}/{appName}/instances/{count}spring-doc.cn

_links.streams/deployments/scale/{streamName}/{appName}/instances/{count}.templatedspring-doc.cn

Booleanspring-doc.cn

链接流/deployments/scale/{streamName}/{appName}/instances/{count} 已模板化spring-doc.cn

_links.streams/validation.hrefspring-doc.cn

Stringspring-doc.cn

链接到 streams/validationspring-doc.cn

_links.streams/validation.templatedspring-doc.cn

Booleanspring-doc.cn

链接流/验证已模板化spring-doc.cn

_links.tasks/platforms.hrefspring-doc.cn

Stringspring-doc.cn

链接到任务/平台spring-doc.cn

_links.tasks/definitions.hrefspring-doc.cn

Stringspring-doc.cn

链接到任务/定义spring-doc.cn

_links.tasks/definitions/definition.hrefspring-doc.cn

Stringspring-doc.cn

链接到 tasks/definitions/definitionspring-doc.cn

_links.tasks/definitions/definition.templatedspring-doc.cn

Booleanspring-doc.cn

链接任务/定义/定义已模板化spring-doc.cn

_links.tasks/executions.hrefspring-doc.cn

Stringspring-doc.cn

链接到任务/执行spring-doc.cn

_links.tasks/executions/name.hrefspring-doc.cn

Stringspring-doc.cn

指向 tasks/executions/name 的链接spring-doc.cn

_links.tasks/executions/name.templatedspring-doc.cn

Booleanspring-doc.cn

链接 tasks/executions/name 已模板化spring-doc.cn

_links.tasks/executions/current.hrefspring-doc.cn

Stringspring-doc.cn

链接到 tasks/executions/currentspring-doc.cn

_links.tasks/executions/execution.hrefspring-doc.cn

Stringspring-doc.cn

链接到 tasks/executions/executionspring-doc.cn

_links.tasks/executions/execution.templatedspring-doc.cn

Booleanspring-doc.cn

链接任务/执行/执行已模板化spring-doc.cn

_links.tasks/logs.hrefspring-doc.cn

Stringspring-doc.cn

链接到任务/日志spring-doc.cn

_links.tasks/logs.templatedspring-doc.cn

Booleanspring-doc.cn

链接任务/日志已模板化spring-doc.cn

_links.tasks/schedules.hrefspring-doc.cn

Stringspring-doc.cn

链接到任务/执行/计划spring-doc.cn

_links.tasks/schedules/instances.hrefspring-doc.cn

Stringspring-doc.cn

链接到 tasks/schedules/instancesspring-doc.cn

_links.tasks/schedules/instances.templatedspring-doc.cn

Booleanspring-doc.cn

链接任务/计划/实例已模板化spring-doc.cn

_links.tasks/validation.hrefspring-doc.cn

Stringspring-doc.cn

链接到 tasks/validationspring-doc.cn

_links.tasks/validation.templatedspring-doc.cn

Booleanspring-doc.cn

链接任务/验证已模板化spring-doc.cn

_links.jobs/executions.hrefspring-doc.cn

Stringspring-doc.cn

链接到作业/执行spring-doc.cn

_links.jobs/thinexecutions.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/thinexecutionsspring-doc.cn

_links.jobs/executions/name.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/executions/namespring-doc.cn

_links.jobs/executions/name.templatedspring-doc.cn

Booleanspring-doc.cn

链接 jobs/executions/name 已模板化spring-doc.cn

_links.jobs/executions/status.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/executions/statusspring-doc.cn

_links.jobs/executions/status.templatedspring-doc.cn

Booleanspring-doc.cn

链接作业/执行/状态已模板化spring-doc.cn

_links.jobs/thinexecutions/name.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/thinexecutions/namespring-doc.cn

_links.jobs/thinexecutions/name.templatedspring-doc.cn

Booleanspring-doc.cn

链接 jobs/executions/name 已模板化spring-doc.cn

_links.jobs/executions/execution.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/executions/executionspring-doc.cn

_links.jobs/executions/execution.templatedspring-doc.cn

Booleanspring-doc.cn

链接作业/执行/执行已模板化spring-doc.cn

_links.jobs/executions/execution/steps.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/executions/execution/stepsspring-doc.cn

_links.jobs/executions/execution/steps.templatedspring-doc.cn

Booleanspring-doc.cn

链接 jobs/executions/execution/steps 已模板化spring-doc.cn

_links.jobs/executions/execution/steps/step.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/executions/execution/steps/stepspring-doc.cn

_links.jobs/executions/execution/steps/step.templatedspring-doc.cn

Booleanspring-doc.cn

链接 jobs/executions/execution/steps/step 已模板化spring-doc.cn

_links.jobs/executions/execution/steps/step/progress.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/executions/execution/steps/step/progressspring-doc.cn

_links.jobs/executions/execution/steps/step/progress.templatedspring-doc.cn

Booleanspring-doc.cn

链接 jobs/executions/execution/steps/step/progress 已模板化spring-doc.cn

_links.jobs/instances/name.hrefspring-doc.cn

Stringspring-doc.cn

指向 jobs/instances/name 的链接spring-doc.cn

_links.jobs/instances/name.templatedspring-doc.cn

Booleanspring-doc.cn

链接 jobs/instances/name 已模板化spring-doc.cn

_links.jobs/instances/instance.hrefspring-doc.cn

Stringspring-doc.cn

链接到 jobs/instances/instancespring-doc.cn

_links.jobs/instances/instance.templatedspring-doc.cn

Booleanspring-doc.cn

链接 jobs/instances/instance 已模板化spring-doc.cn

_links.tools/parseTaskTextToGraph.hrefspring-doc.cn

Stringspring-doc.cn

链接到 tools/parseTaskTextToGraphspring-doc.cn

_links.tools/convertTaskGraphToText.hrefspring-doc.cn

Stringspring-doc.cn

链接到 tools/convertTaskGraphToTextspring-doc.cn

_links.apps.hrefspring-doc.cn

Stringspring-doc.cn

链接到应用程序spring-doc.cn

_links.about.hrefspring-doc.cn

Stringspring-doc.cn

链接到关于spring-doc.cn

_links.completions/stream.hrefspring-doc.cn

Stringspring-doc.cn

链接到 completions/streamspring-doc.cn

_links.completions/stream.templatedspring-doc.cn

Booleanspring-doc.cn

链接完成数/流已模板化spring-doc.cn

_links.completions/task.hrefspring-doc.cn

Stringspring-doc.cn

链接到完成/任务spring-doc.cn

_links.completions/task.templatedspring-doc.cn

Booleanspring-doc.cn

链接完成数/任务已模板化spring-doc.cn

示例响应
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 6413

{
  "_links" : {
    "dashboard" : {
      "href" : "http://localhost:9393/dashboard"
    },
    "audit-records" : {
      "href" : "http://localhost:9393/audit-records"
    },
    "streams/definitions" : {
      "href" : "http://localhost:9393/streams/definitions"
    },
    "streams/definitions/definition" : {
      "href" : "http://localhost:9393/streams/definitions/{name}",
      "templated" : true
    },
    "streams/validation" : {
      "href" : "http://localhost:9393/streams/validation/{name}",
      "templated" : true
    },
    "runtime/streams" : {
      "href" : "http://localhost:9393/runtime/streams{?names}",
      "templated" : true
    },
    "runtime/streams/{streamNames}" : {
      "href" : "http://localhost:9393/runtime/streams/{streamNames}",
      "templated" : true
    },
    "runtime/apps" : {
      "href" : "http://localhost:9393/runtime/apps"
    },
    "runtime/apps/{appId}" : {
      "href" : "http://localhost:9393/runtime/apps/{appId}",
      "templated" : true
    },
    "runtime/apps/{appId}/instances" : {
      "href" : "http://localhost:9393/runtime/apps/{appId}/instances",
      "templated" : true
    },
    "runtime/apps/{appId}/instances/{instanceId}" : {
      "href" : "http://localhost:9393/runtime/apps/{appId}/instances/{instanceId}",
      "templated" : true
    },
    "streams/deployments" : {
      "href" : "http://localhost:9393/streams/deployments"
    },
    "streams/deployments/{name}" : {
      "href" : "http://localhost:9393/streams/deployments/{name}",
      "templated" : true
    },
    "streams/deployments/history/{name}" : {
      "href" : "http://localhost:9393/streams/deployments/history/{name}",
      "templated" : true
    },
    "streams/deployments/manifest/{name}/{version}" : {
      "href" : "http://localhost:9393/streams/deployments/manifest/{name}/{version}",
      "templated" : true
    },
    "streams/deployments/platform/list" : {
      "href" : "http://localhost:9393/streams/deployments/platform/list"
    },
    "streams/deployments/rollback/{name}/{version}" : {
      "href" : "http://localhost:9393/streams/deployments/rollback/{name}/{version}",
      "templated" : true
    },
    "streams/deployments/update/{name}" : {
      "href" : "http://localhost:9393/streams/deployments/update/{name}",
      "templated" : true
    },
    "streams/deployments/deployment" : {
      "href" : "http://localhost:9393/streams/deployments/{name}",
      "templated" : true
    },
    "streams/deployments/scale/{streamName}/{appName}/instances/{count}" : {
      "href" : "http://localhost:9393/streams/deployments/scale/{streamName}/{appName}/instances/{count}",
      "templated" : true
    },
    "streams/logs" : {
      "href" : "http://localhost:9393/streams/logs"
    },
    "streams/logs/{streamName}" : {
      "href" : "http://localhost:9393/streams/logs/{streamName}",
      "templated" : true
    },
    "streams/logs/{streamName}/{appName}" : {
      "href" : "http://localhost:9393/streams/logs/{streamName}/{appName}",
      "templated" : true
    },
    "tasks/platforms" : {
      "href" : "http://localhost:9393/tasks/platforms"
    },
    "tasks/definitions" : {
      "href" : "http://localhost:9393/tasks/definitions"
    },
    "tasks/definitions/definition" : {
      "href" : "http://localhost:9393/tasks/definitions/{name}",
      "templated" : true
    },
    "tasks/executions" : {
      "href" : "http://localhost:9393/tasks/executions"
    },
    "tasks/executions/name" : {
      "href" : "http://localhost:9393/tasks/executions{?name}",
      "templated" : true
    },
    "tasks/executions/current" : {
      "href" : "http://localhost:9393/tasks/executions/current"
    },
    "tasks/executions/execution" : {
      "href" : "http://localhost:9393/tasks/executions/{id}",
      "templated" : true
    },
    "tasks/validation" : {
      "href" : "http://localhost:9393/tasks/validation/{name}",
      "templated" : true
    },
    "tasks/logs" : {
      "href" : "http://localhost:9393/tasks/logs/{taskExternalExecutionId}{?platformName}",
      "templated" : true
    },
    "tasks/schedules" : {
      "href" : "http://localhost:9393/tasks/schedules"
    },
    "tasks/schedules/instances" : {
      "href" : "http://localhost:9393/tasks/schedules/instances/{taskDefinitionName}",
      "templated" : true
    },
    "jobs/executions" : {
      "href" : "http://localhost:9393/jobs/executions"
    },
    "jobs/executions/name" : {
      "href" : "http://localhost:9393/jobs/executions{?name}",
      "templated" : true
    },
    "jobs/executions/status" : {
      "href" : "http://localhost:9393/jobs/executions{?status}",
      "templated" : true
    },
    "jobs/executions/execution" : {
      "href" : "http://localhost:9393/jobs/executions/{id}",
      "templated" : true
    },
    "jobs/executions/execution/steps" : {
      "href" : "http://localhost:9393/jobs/executions/{jobExecutionId}/steps",
      "templated" : true
    },
    "jobs/executions/execution/steps/step" : {
      "href" : "http://localhost:9393/jobs/executions/{jobExecutionId}/steps/{stepId}",
      "templated" : true
    },
    "jobs/executions/execution/steps/step/progress" : {
      "href" : "http://localhost:9393/jobs/executions/{jobExecutionId}/steps/{stepId}/progress",
      "templated" : true
    },
    "jobs/instances/name" : {
      "href" : "http://localhost:9393/jobs/instances{?name}",
      "templated" : true
    },
    "jobs/instances/instance" : {
      "href" : "http://localhost:9393/jobs/instances/{id}",
      "templated" : true
    },
    "tools/parseTaskTextToGraph" : {
      "href" : "http://localhost:9393/tools"
    },
    "tools/convertTaskGraphToText" : {
      "href" : "http://localhost:9393/tools"
    },
    "jobs/thinexecutions" : {
      "href" : "http://localhost:9393/jobs/thinexecutions"
    },
    "jobs/thinexecutions/name" : {
      "href" : "http://localhost:9393/jobs/thinexecutions{?name}",
      "templated" : true
    },
    "apps" : {
      "href" : "http://localhost:9393/apps"
    },
    "about" : {
      "href" : "http://localhost:9393/about"
    },
    "completions/stream" : {
      "href" : "http://localhost:9393/completions/stream{?start,detailLevel}",
      "templated" : true
    },
    "completions/task" : {
      "href" : "http://localhost:9393/completions/task{?start,detailLevel}",
      "templated" : true
    }
  },
  "api.revision" : 14
}

索引的主要元素是链接,因为它们允许您遍历 API 并执行所需的功能:spring-doc.cn

关系 描述

aboutspring-doc.cn

访问元信息,包括启用的功能、安全信息、版本信息spring-doc.cn

dashboardspring-doc.cn

访问仪表板 UIspring-doc.cn

audit-recordsspring-doc.cn

提供审计跟踪信息spring-doc.cn

appsspring-doc.cn

处理已注册的应用程序spring-doc.cn

completions/streamspring-doc.cn

公开 Stream 的 DSL 完成功能spring-doc.cn

completions/taskspring-doc.cn

公开 Task 的 DSL 完成功能spring-doc.cn

jobs/executionsspring-doc.cn

提供 JobExecution 资源spring-doc.cn

jobs/thinexecutionsspring-doc.cn

提供不包含步骤执行的 JobExecution 瘦资源spring-doc.cn

jobs/executions/executionspring-doc.cn

提供特定 JobExecution 的详细信息spring-doc.cn

jobs/executions/execution/stepsspring-doc.cn

提供 JobExecution 的步骤spring-doc.cn

jobs/executions/execution/steps/stepspring-doc.cn

返回特定步骤的详细信息spring-doc.cn

jobs/executions/execution/steps/step/progressspring-doc.cn

提供特定步骤的进度信息spring-doc.cn

jobs/executions/namespring-doc.cn

按任务名称检索任务执行spring-doc.cn

jobs/executions/statusspring-doc.cn

按任务状态检索任务执行spring-doc.cn

jobs/thinexecutions/namespring-doc.cn

按任务名称检索任务执行,不包含步骤执行spring-doc.cn

jobs/instances/instancespring-doc.cn

为特定作业实例提供作业实例资源spring-doc.cn

jobs/instances/namespring-doc.cn

为特定作业名称提供作业实例资源spring-doc.cn

runtime/streamsspring-doc.cn

公开流运行时状态spring-doc.cn

runtime/streams/{streamNames}spring-doc.cn

公开给定流名称的流运行时状态spring-doc.cn

runtime/appsspring-doc.cn

提供运行时应用程序资源spring-doc.cn

runtime/apps/{appId}spring-doc.cn

公开特定应用的运行时状态spring-doc.cn

runtime/apps/{appId}/instancesspring-doc.cn

提供应用程序实例的状态spring-doc.cn

runtime/apps/{appId}/instances/{instanceId}spring-doc.cn

提供特定应用程序实例的状态spring-doc.cn

tasks/definitionsspring-doc.cn

提供任务定义资源spring-doc.cn

tasks/definitions/definitionspring-doc.cn

提供特定任务定义的详细信息spring-doc.cn

tasks/validationspring-doc.cn

提供任务定义的验证spring-doc.cn

tasks/executionsspring-doc.cn

返回任务执行并允许启动任务spring-doc.cn

tasks/executions/currentspring-doc.cn

提供正在运行的任务的当前计数spring-doc.cn

tasks/schedulesspring-doc.cn

提供任务的进度信息spring-doc.cn

tasks/schedules/instancesspring-doc.cn

提供特定任务的计划信息spring-doc.cn

tasks/executions/namespring-doc.cn

返回给定 Task name 的所有任务执行spring-doc.cn

tasks/executions/executionspring-doc.cn

提供特定任务执行的详细信息spring-doc.cn

tasks/platformsspring-doc.cn

提供用于启动任务的平台账户。可以通过添加 'schedulesEnabled=true 的请求参数来筛选结果以显示支持计划的平台spring-doc.cn

tasks/logsspring-doc.cn

检索任务应用程序日志spring-doc.cn

streams/definitionsspring-doc.cn

公开 Streams 资源spring-doc.cn

streams/definitions/definitionspring-doc.cn

处理特定的 Stream 定义spring-doc.cn

streams/validationspring-doc.cn

提供流定义的验证spring-doc.cn

streams/deploymentsspring-doc.cn

提供 Stream 部署操作spring-doc.cn

streams/deployments/{name}spring-doc.cn

请求取消部署现有流spring-doc.cn

streams/deployments/deploymentspring-doc.cn

请求(取消)部署现有流定义spring-doc.cn

streams/deployments/manifest/{name}/{version}spring-doc.cn

返回 release 版本的清单信息spring-doc.cn

streams/deployments/history/{name}spring-doc.cn

以列表形式获取流的部署历史记录或此版本的版本spring-doc.cn

streams/deployments/rollback/{name}/{version}spring-doc.cn

将流回滚到流的上一个版本或特定版本spring-doc.cn

streams/deployments/update/{name}spring-doc.cn

更新流。spring-doc.cn

streams/deployments/platform/listspring-doc.cn

支持的部署平台列表spring-doc.cn

streams/deployments/scale/{streamName}/{appName}/instances/{count}spring-doc.cn

增加或减少所选流的应用程序实例数spring-doc.cn

streams/logsspring-doc.cn

检索流的应用程序日志spring-doc.cn

streams/logs/{streamName}spring-doc.cn

检索流的应用程序日志spring-doc.cn

streams/logs/{streamName}/{appName}spring-doc.cn

检索流的特定应用程序日志spring-doc.cn

tools/parseTaskTextToGraphspring-doc.cn

将任务定义解析为图形结构spring-doc.cn

tools/convertTaskGraphToTextspring-doc.cn

将图形格式转换为 DSL 文本格式spring-doc.cn

44.2. 服务器元信息

服务器元信息端点提供有关服务器本身的更多信息。 以下主题提供了更多详细信息:spring-doc.cn

44.2.1. 检索有关服务器的信息

请求返回 Spring Cloud Data Flow 的元信息,包括:GETspring-doc.cn

请求结构
GET /about HTTP/1.1
Accept: application/json
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/about' -i -X GET \
    -H 'Accept: application/json'
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2785

{
  "featureInfo" : {
    "analyticsEnabled" : true,
    "streamsEnabled" : true,
    "tasksEnabled" : true,
    "schedulesEnabled" : true,
    "grafanaEnabled" : false,
    "wavefrontEnabled" : false,
    "monitoringDashboardType" : "NONE"
  },
  "versionInfo" : {
    "implementation" : {
      "name" : "${info.app.name}",
      "version" : "${info.app.version}"
    },
    "core" : {
      "name" : "Spring Cloud Data Flow Core",
      "version" : "2.6.4"
    },
    "dashboard" : {
      "name" : "Spring Cloud Dataflow UI",
      "version" : "2.5.2"
    },
    "shell" : {
      "name" : "Spring Cloud Data Flow Shell",
      "version" : "2.6.4",
      "url" : "https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-dataflow-shell/2.6.4/spring-cloud-dataflow-shell-2.6.4.jar"
    }
  },
  "securityInfo" : {
    "authenticationEnabled" : false,
    "authenticated" : false,
    "username" : null,
    "roles" : [ ]
  },
  "runtimeEnvironment" : {
    "appDeployer" : {
      "deployerImplementationVersion" : "Test Version",
      "deployerName" : "Test Server",
      "deployerSpiVersion" : "2.5.3",
      "javaVersion" : "1.8.0_232",
      "platformApiVersion" : "",
      "platformClientVersion" : "",
      "platformHostVersion" : "",
      "platformSpecificInfo" : {
        "default" : "local"
      },
      "platformType" : "Skipper Managed",
      "springBootVersion" : "2.2.11.RELEASE",
      "springVersion" : "5.2.10.RELEASE"
    },
    "taskLaunchers" : [ {
      "deployerImplementationVersion" : "2.4.2",
      "deployerName" : "LocalTaskLauncher",
      "deployerSpiVersion" : "2.4.2",
      "javaVersion" : "1.8.0_232",
      "platformApiVersion" : "Linux 4.15.0-122-generic",
      "platformClientVersion" : "4.15.0-122-generic",
      "platformHostVersion" : "4.15.0-122-generic",
      "platformSpecificInfo" : { },
      "platformType" : "Local",
      "springBootVersion" : "2.2.11.RELEASE",
      "springVersion" : "5.2.10.RELEASE"
    }, {
      "deployerImplementationVersion" : "2.4.2",
      "deployerName" : "LocalTaskLauncher",
      "deployerSpiVersion" : "2.4.2",
      "javaVersion" : "1.8.0_232",
      "platformApiVersion" : "Linux 4.15.0-122-generic",
      "platformClientVersion" : "4.15.0-122-generic",
      "platformHostVersion" : "4.15.0-122-generic",
      "platformSpecificInfo" : { },
      "platformType" : "Local",
      "springBootVersion" : "2.2.11.RELEASE",
      "springVersion" : "5.2.10.RELEASE"
    } ]
  },
  "grafanaInfo" : {
    "url" : "",
    "refreshInterval" : 15
  },
  "monitoringDashboardInfo" : {
    "url" : "",
    "refreshInterval" : 15,
    "dashboardType" : "NONE",
    "source" : "default-scdf-source"
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/about"
    }
  }
}

44.3. 注册的应用程序

已注册的应用程序终端节点提供有关向 Spring Cloud Data Flow 服务器注册的应用程序的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.3.1. 列出应用程序

请求列出了 Spring Cloud Data Flow 已知的所有应用程序。 以下主题提供了更多详细信息:GETspring-doc.cn

请求结构
GET /apps?search=&type=source&defaultVersion=true&page=0&size=10&sort=name%2CASC HTTP/1.1
Accept: application/json
Host: localhost:9393
请求参数
参数 描述

searchspring-doc.cn

对名称执行的搜索字符串(可选)spring-doc.cn

typespring-doc.cn

将返回的应用程序限制为应用程序的类型。[app, source, processor, sink, task] 之一spring-doc.cn

defaultVersionspring-doc.cn

布尔标志,用于仅检索默认版本的应用程序(可选)spring-doc.cn

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sortspring-doc.cn

列表中的排序 (可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/apps?search=&type=source&defaultVersion=true&page=0&size=10&sort=name%2CASC' -i -X GET \
    -H 'Accept: application/json'
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1053

{
  "_embedded" : {
    "appRegistrationResourceList" : [ {
      "name" : "http",
      "type" : "source",
      "uri" : "maven://org.springframework.cloud.stream.app:http-source-rabbit:1.2.0.RELEASE",
      "version" : "1.2.0.RELEASE",
      "defaultVersion" : true,
      "versions" : [ "1.2.0.RELEASE" ],
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/apps/source/http/1.2.0.RELEASE"
        }
      }
    }, {
      "name" : "time",
      "type" : "source",
      "uri" : "maven://org.springframework.cloud.stream.app:time-source-rabbit:1.2.0.RELEASE",
      "version" : "1.2.0.RELEASE",
      "defaultVersion" : true,
      "versions" : [ "1.2.0.RELEASE" ],
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/apps/source/time/1.2.0.RELEASE"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/apps?page=0&size=10&sort=name,asc"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

44.3.2. 获取有关特定应用程序的信息

请求 on 获取有关特定应用程序的信息。 以下主题提供了更多详细信息:GET/apps/<type>/<name>spring-doc.cn

请求结构
GET /apps/source/http?exhaustive=false HTTP/1.1
Accept: application/json
Host: localhost:9393
请求参数
参数 描述

exhaustivespring-doc.cn

返回所有应用程序属性,包括常见的 Spring Boot 属性spring-doc.cn

路径参数

/apps/{type}/{name}spring-doc.cn

参数 描述

typespring-doc.cn

要查询的应用程序的类型。[app, source, processor, sink, task] 之一spring-doc.cn

namespring-doc.cn

要查询的应用程序的名称spring-doc.cn

示例请求
$ curl 'http://localhost:9393/apps/source/http?exhaustive=false' -i -X GET \
    -H 'Accept: application/json'
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2058

{
  "name" : "http",
  "type" : "source",
  "uri" : "maven://org.springframework.cloud.stream.app:http-source-rabbit:1.2.0.RELEASE",
  "version" : "1.2.0.RELEASE",
  "defaultVersion" : true,
  "versions" : null,
  "options" : [ {
    "id" : "http.path-pattern",
    "name" : "path-pattern",
    "type" : "java.lang.String",
    "description" : "An Ant-Style pattern to determine which http requests will be captured.",
    "shortDescription" : "An Ant-Style pattern to determine which http requests will be captured.",
    "defaultValue" : "/",
    "hints" : {
      "keyHints" : [ ],
      "keyProviders" : [ ],
      "valueHints" : [ ],
      "valueProviders" : [ ]
    },
    "deprecation" : null,
    "deprecated" : false
  }, {
    "id" : "http.mapped-request-headers",
    "name" : "mapped-request-headers",
    "type" : "java.lang.String[]",
    "description" : "Headers that will be mapped.",
    "shortDescription" : "Headers that will be mapped.",
    "defaultValue" : null,
    "hints" : {
      "keyHints" : [ ],
      "keyProviders" : [ ],
      "valueHints" : [ ],
      "valueProviders" : [ ]
    },
    "deprecation" : null,
    "deprecated" : false
  }, {
    "id" : "http.secured",
    "name" : "secured",
    "type" : "java.lang.Boolean",
    "description" : "Secure or not HTTP source path.",
    "shortDescription" : "Secure or not HTTP source path.",
    "defaultValue" : false,
    "hints" : {
      "keyHints" : [ ],
      "keyProviders" : [ ],
      "valueHints" : [ ],
      "valueProviders" : [ ]
    },
    "deprecation" : null,
    "deprecated" : false
  }, {
    "id" : "server.port",
    "name" : "port",
    "type" : "java.lang.Integer",
    "description" : "Server HTTP port.",
    "shortDescription" : "Server HTTP port.",
    "defaultValue" : null,
    "hints" : {
      "keyHints" : [ ],
      "keyProviders" : [ ],
      "valueHints" : [ ],
      "valueProviders" : [ ]
    },
    "deprecation" : null,
    "deprecated" : false
  } ],
  "shortDescription" : null,
  "inboundPortNames" : [ ],
  "outboundPortNames" : [ ]
}

44.3.3. 注册新应用程序

请求 on 允许注册新应用程序。 以下主题提供了更多详细信息:POST/apps/<type>/<name>spring-doc.cn

请求结构
POST /apps/source/http HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

uri=maven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE
请求参数
参数 描述

urispring-doc.cn

应用程序位所在的 URIspring-doc.cn

metadata-urispring-doc.cn

可以找到应用程序元数据 jar 的 URIspring-doc.cn

forcespring-doc.cn

如果已存在具有相同名称和类型的注册,则必须为 true,否则将发生错误spring-doc.cn

路径参数

/apps/{type}/{name}spring-doc.cn

参数 描述

typespring-doc.cn

要注册的应用程序类型。[app, source, processor, sink, task] 之一spring-doc.cn

namespring-doc.cn

要注册的应用程序的名称spring-doc.cn

示例请求
$ curl 'http://localhost:9393/apps/source/http' -i -X POST \
    -d 'uri=maven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE'
响应结构
HTTP/1.1 201 Created

44.3.4. 使用 版本

请求 on 允许注册新应用程序。 以下主题提供了更多详细信息:POST/apps/<type>/<name>/<version>spring-doc.cn

请求结构
POST /apps/source/http/1.1.0.RELEASE HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

uri=maven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE
请求参数
参数 描述

urispring-doc.cn

应用程序位所在的 URIspring-doc.cn

metadata-urispring-doc.cn

可以找到应用程序元数据 jar 的 URIspring-doc.cn

forcespring-doc.cn

如果已存在具有相同名称和类型的注册,则必须为 true,否则将发生错误spring-doc.cn

路径参数

/apps/{type}/{name}/{version:.+}spring-doc.cn

参数 描述

typespring-doc.cn

要注册的应用程序类型。[app, source, processor, sink, task] 之一(可选)spring-doc.cn

namespring-doc.cn

要注册的应用程序的名称spring-doc.cn

versionspring-doc.cn

要注册的应用程序版本spring-doc.cn

示例请求
$ curl 'http://localhost:9393/apps/source/http/1.1.0.RELEASE' -i -X POST \
    -d 'uri=maven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE'
响应结构
HTTP/1.1 201 Created

44.3.5. 批量注册应用程序

请求 on 允许一次注册多个应用程序。 以下主题提供了更多详细信息:POST/appsspring-doc.cn

请求结构
POST /apps HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

apps=source.http%3Dmaven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE&force=false
请求参数
参数 描述

urispring-doc.cn

URI,可在其中获取包含注册的属性文件。独占 .appsspring-doc.cn

appsspring-doc.cn

内联注册集。独占 .urispring-doc.cn

forcespring-doc.cn

如果已存在具有相同名称和类型的注册,则必须为 true,否则将发生错误spring-doc.cn

示例请求
$ curl 'http://localhost:9393/apps' -i -X POST \
    -d 'apps=source.http%3Dmaven%3A%2F%2Forg.springframework.cloud.stream.app%3Ahttp-source-rabbit%3A1.1.0.RELEASE&force=false'
响应结构
HTTP/1.1 201 Created
Content-Type: application/hal+json
Content-Length: 636

{
  "_embedded" : {
    "appRegistrationResourceList" : [ {
      "name" : "http",
      "type" : "source",
      "uri" : "maven://org.springframework.cloud.stream.app:http-source-rabbit:1.1.0.RELEASE",
      "version" : "1.1.0.RELEASE",
      "defaultVersion" : true,
      "versions" : null,
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/apps/source/http/1.1.0.RELEASE"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/apps?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.3.6. 设置默认应用程序版本

对于具有相同 和 的应用程序,您可以注册多个版本。 在这种情况下,您可以选择其中一个版本作为默认应用程序。nametypespring-doc.cn

以下主题提供了更多详细信息:spring-doc.cn

请求结构
PUT /apps/source/http/1.2.0.RELEASE HTTP/1.1
Accept: application/json
Host: localhost:9393
路径参数

/apps/{type}/{name}/{version:.+}spring-doc.cn

参数 描述

typespring-doc.cn

应用程序的类型。[app, source, processor, sink, task] 之一spring-doc.cn

namespring-doc.cn

应用程序的名称spring-doc.cn

versionspring-doc.cn

应用程序的版本spring-doc.cn

示例请求
$ curl 'http://localhost:9393/apps/source/http/1.2.0.RELEASE' -i -X PUT \
    -H 'Accept: application/json'
响应结构
HTTP/1.1 202 Accepted

44.3.7. 取消注册应用程序

上的请求将取消注册以前注册的应用程序。 以下主题提供了更多详细信息:DELETE/apps/<type>/<name>spring-doc.cn

请求结构
DELETE /apps/source/http/1.2.0.RELEASE HTTP/1.1
Host: localhost:9393
路径参数

/apps/{type}/{name}/{version}spring-doc.cn

参数 描述

typespring-doc.cn

要取消注册的应用程序类型。[app, source, processor, sink, task] 之一spring-doc.cn

namespring-doc.cn

要取消注册的应用程序的名称spring-doc.cn

versionspring-doc.cn

要取消注册的应用程序版本(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/apps/source/http/1.2.0.RELEASE' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.3.8. 取消注册所有应用程序

请求 on 将取消注册所有应用程序。 以下主题提供了更多详细信息:DELETE/appsspring-doc.cn

请求结构
DELETE /apps HTTP/1.1
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/apps' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.4. 审计记录

Audit records 端点提供有关审计记录的信息。以下主题提供了更多详细信息:spring-doc.cn

44.4.1. 列出所有审计记录

的 audit records 端点允许您检索审计跟踪信息。spring-doc.cn

以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /audit-records?page=0&size=10&operations=STREAM&actions=CREATE&fromDate=2000-01-01T00%3A00%3A00&toDate=2099-01-01T00%3A00%3A00 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

operationsspring-doc.cn

以逗号分隔的审计操作列表(可选)spring-doc.cn

actionsspring-doc.cn

以逗号分隔的审核操作列表(可选)spring-doc.cn

fromDatespring-doc.cn

起始日期过滤器(例如:2019-02-03T00:00:30)(可选)spring-doc.cn

toDatespring-doc.cn

日期筛选器 (ex.: 2019-02-03T00:00:30) (可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/audit-records?page=0&size=10&operations=STREAM&actions=CREATE&fromDate=2000-01-01T00%3A00%3A00&toDate=2099-01-01T00%3A00%3A00' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 680

{
  "_embedded" : {
    "auditRecordResourceList" : [ {
      "auditRecordId" : 5,
      "createdBy" : null,
      "correlationId" : "timelog",
      "auditData" : "time --format='YYYY MM DD' | log",
      "createdOn" : "2020-11-25T02:26:32.984Z",
      "auditAction" : "CREATE",
      "auditOperation" : "STREAM",
      "platformName" : null,
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/audit-records/5"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/audit-records?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.4.2. 检索审计记录详细信息

的 audit record 端点允许您获取单个审计记录。以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /audit-records/5 HTTP/1.1
Host: localhost:9393
路径参数

/audit-records/{id}spring-doc.cn

参数 描述

idspring-doc.cn

要查询的审计记录的 ID (必需)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/audit-records/5' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 354

{
  "auditRecordId" : 5,
  "createdBy" : null,
  "correlationId" : "timelog",
  "auditData" : "time --format='YYYY MM DD' | log",
  "createdOn" : "2020-11-25T02:26:32.984Z",
  "auditAction" : "CREATE",
  "auditOperation" : "STREAM",
  "platformName" : null,
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/audit-records/5"
    }
  }
}

44.4.3. 列出所有审计操作类型

Audit record 终端节点允许您获取操作类型。以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /audit-records/audit-action-types HTTP/1.1
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/audit-records/audit-action-types' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 934

[ {
  "id" : 100,
  "name" : "Create",
  "description" : "Create an Entity",
  "nameWithDescription" : "Create (Create an Entity)",
  "key" : "CREATE"
}, {
  "id" : 200,
  "name" : "Delete",
  "description" : "Delete an Entity",
  "nameWithDescription" : "Delete (Delete an Entity)",
  "key" : "DELETE"
}, {
  "id" : 300,
  "name" : "Deploy",
  "description" : "Deploy an Entity",
  "nameWithDescription" : "Deploy (Deploy an Entity)",
  "key" : "DEPLOY"
}, {
  "id" : 400,
  "name" : "Rollback",
  "description" : "Rollback an Entity",
  "nameWithDescription" : "Rollback (Rollback an Entity)",
  "key" : "ROLLBACK"
}, {
  "id" : 500,
  "name" : "Undeploy",
  "description" : "Undeploy an Entity",
  "nameWithDescription" : "Undeploy (Undeploy an Entity)",
  "key" : "UNDEPLOY"
}, {
  "id" : 600,
  "name" : "Update",
  "description" : "Update an Entity",
  "nameWithDescription" : "Update (Update an Entity)",
  "key" : "UPDATE"
} ]

44.4.4. 列出所有审计操作类型

Audit record 终端节点允许您获取操作类型。以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /audit-records/audit-operation-types HTTP/1.1
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/audit-records/audit-operation-types' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 258

[ {
  "id" : 100,
  "name" : "App Registration",
  "key" : "APP_REGISTRATION"
}, {
  "id" : 200,
  "name" : "Schedule",
  "key" : "SCHEDULE"
}, {
  "id" : 300,
  "name" : "Stream",
  "key" : "STREAM"
}, {
  "id" : 400,
  "name" : "Task",
  "key" : "TASK"
} ]

44.5. 流定义

已注册的应用程序终端节点提供有关向 Spring Cloud Data Flow 服务器注册的流定义的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.5.1. 创建新的 Stream 定义

创建流定义是通过创建对流定义终端节点的 POST 请求来实现的。 流的 curl 请求可能类似于以下内容:ticktockspring-doc.cn

curl -X POST -d "name=ticktock&definition=time | log" localhost:9393/streams/definitions?deploy=false

流定义还可以包含其他参数。 例如,在 “Request Structure” 下显示的示例中,我们还提供了日期时间格式。spring-doc.cn

以下主题提供了更多详细信息:spring-doc.cn

请求结构
POST /streams/definitions HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

name=timelog&definition=time+--format%3D%27YYYY+MM+DD%27+%7C+log&description=Demo+stream+for+testing&deploy=false
请求参数
参数 描述

namespring-doc.cn

已创建任务定义的名称spring-doc.cn

definitionspring-doc.cn

流的定义,使用 Data Flow DSLspring-doc.cn

descriptionspring-doc.cn

流定义的描述spring-doc.cn

deployspring-doc.cn

如果为 true,则在创建时部署流(默认值为 false)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/definitions' -i -X POST \
    -d 'name=timelog&definition=time+--format%3D%27YYYY+MM+DD%27+%7C+log&description=Demo+stream+for+testing&deploy=false'
响应结构
HTTP/1.1 201 Created
Content-Type: application/hal+json
Content-Length: 410

{
  "name" : "timelog",
  "dslText" : "time --format='YYYY MM DD' | log",
  "originalDslText" : "time --format='YYYY MM DD' | log",
  "status" : "undeployed",
  "description" : "Demo stream for testing",
  "statusDescription" : "The app or group is known to the system, but is not currently deployed",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/streams/definitions/timelog"
    }
  }
}

44.5.2. 列出所有 Stream 定义

的 streams 端点允许您列出所有流定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /streams/definitions?page=0&sort=name%2CASC&search=&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

searchspring-doc.cn

对名称执行的搜索字符串(可选)spring-doc.cn

sortspring-doc.cn

列表中的排序 (可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/definitions?page=0&sort=name%2CASC&search=&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1160

{
  "_embedded" : {
    "streamDefinitionResourceList" : [ {
      "name" : "mysamplestream",
      "dslText" : "time | log",
      "originalDslText" : "time | log",
      "status" : "undeployed",
      "description" : "",
      "statusDescription" : "The app or group is known to the system, but is not currently deployed",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/streams/definitions/mysamplestream"
        }
      }
    }, {
      "name" : "timelog",
      "dslText" : "time --format='YYYY MM DD' | log",
      "originalDslText" : "time --format='YYYY MM DD' | log",
      "status" : "undeployed",
      "description" : "Demo stream for testing",
      "statusDescription" : "The app or group is known to the system, but is not currently deployed",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/streams/definitions/timelog"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/streams/definitions?page=0&size=10&sort=name,asc"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

的 streams 端点允许您列出相关的流定义。 以下主题提供了更多详细信息:spring-doc.cn

GET /streams/definitions/timelog/related?page=0&sort=name%2CASC&search=&size=10&nested=true HTTP/1.1
Host: localhost:9393
参数 描述

nestedspring-doc.cn

我们是否应该递归地查找相关流定义 (可选)spring-doc.cn

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

searchspring-doc.cn

对名称执行的搜索字符串(可选)spring-doc.cn

sortspring-doc.cn

列表中的排序 (可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

$ curl 'http://localhost:9393/streams/definitions/timelog/related?page=0&sort=name%2CASC&search=&size=10&nested=true' -i -X GET
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 769

{
  "_embedded" : {
    "streamDefinitionResourceList" : [ {
      "name" : "timelog",
      "dslText" : "time --format='YYYY MM DD' | log",
      "originalDslText" : "time --format='YYYY MM DD' | log",
      "status" : "undeployed",
      "description" : "Demo stream for testing",
      "statusDescription" : "The app or group is known to the system, but is not currently deployed",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/streams/definitions/timelog"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/streams/definitions/timelog/related?page=0&size=10&sort=name,asc"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.5.4. 检索流定义详细信息

流定义终端节点允许您获取单个流定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /streams/definitions/timelog HTTP/1.1
Host: localhost:9393
路径参数

/streams/definitions/{name}spring-doc.cn

参数 描述

namespring-doc.cn

要查询的流定义的名称 (必填)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/definitions/timelog' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 410

{
  "name" : "timelog",
  "dslText" : "time --format='YYYY MM DD' | log",
  "originalDslText" : "time --format='YYYY MM DD' | log",
  "status" : "undeployed",
  "description" : "Demo stream for testing",
  "statusDescription" : "The app or group is known to the system, but is not currently deployed",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/streams/definitions/timelog"
    }
  }
}

44.5.5. 删除单个流定义

的 streams 端点允许您删除单个流定义。 (另请参阅:删除所有流定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
DELETE /streams/definitions/timelog HTTP/1.1
Host: localhost:9393
请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/definitions/timelog' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.5.6. 删除所有 Stream 定义

的 streams 端点允许您删除所有单个流定义。 (另请参阅:删除单个流定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
DELETE /streams/definitions HTTP/1.1
Host: localhost:9393
请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/definitions' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.6. 流验证

流验证终端节点允许您验证流定义中的应用程序。 以下主题提供了更多详细信息:spring-doc.cn

44.6.1. 请求结构

GET /streams/validation/timelog HTTP/1.1
Host: localhost:9393

44.6.2. 路径参数

/streams/validation/{name}spring-doc.cn

参数 描述

namespring-doc.cn

要验证的流定义的名称 (必填)spring-doc.cn

44.6.3. 示例请求

$ curl 'http://localhost:9393/streams/validation/timelog' -i -X GET

44.6.4. 响应结构

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 197

{
  "appName" : "timelog",
  "dsl" : "time --format='YYYY MM DD' | log",
  "description" : "Demo stream for testing",
  "appStatuses" : {
    "source:time" : "valid",
    "sink:log" : "valid"
  }
}

44.7. 流式部署

部署定义终端节点提供有关向 Spring Cloud Data Flow 服务器注册的部署的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.7.1. 部署 Stream 定义

流定义终端节点允许您部署单个流定义。 (可选)您可以将应用程序参数作为请求正文中的属性传递。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
POST /streams/deployments/timelog HTTP/1.1
Content-Type: application/json
Content-Length: 36
Host: localhost:9393

{"app.time.timestamp.format":"YYYY"}

/streams/deployments/{时间日志}spring-doc.cn

参数 描述

timelogspring-doc.cn

现有流定义的名称 (必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/deployments/timelog' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"app.time.timestamp.format":"YYYY"}'
响应结构
HTTP/1.1 201 Created

44.7.2. 取消部署流定义

流定义终端节点允许您取消部署单个流定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
DELETE /streams/deployments/timelog HTTP/1.1
Host: localhost:9393

/streams/deployments/{时间日志}spring-doc.cn

参数 描述

timelogspring-doc.cn

现有流定义的名称 (必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/deployments/timelog' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.7.3. 取消部署所有 Stream Definitions

流定义终端节点允许您取消部署所有单个流定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
DELETE /streams/deployments HTTP/1.1
Host: localhost:9393
请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/deployments' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.7.4. 更新已部署的流

借助 Skipper,您可以更新已部署的流,并提供其他部署属性。spring-doc.cn

请求结构
POST /streams/deployments/update/timelog1 HTTP/1.1
Content-Type: application/json
Content-Length: 196
Host: localhost:9393

{"releaseName":"timelog1","packageIdentifier":{"repositoryName":"test","packageName":"timelog1","packageVersion":"1.0.0"},"updateProperties":{"app.time.timestamp.format":"YYYYMMDD"},"force":false}

/streams/deployments/update/{timelog1}spring-doc.cn

参数 描述

timelog1spring-doc.cn

现有流定义的名称 (必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/deployments/update/timelog1' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"releaseName":"timelog1","packageIdentifier":{"repositoryName":"test","packageName":"timelog1","packageVersion":"1.0.0"},"updateProperties":{"app.time.timestamp.format":"YYYYMMDD"},"force":false}'
响应结构
HTTP/1.1 201 Created

44.7.5. 回滚流定义

将流回滚到流的先前版本或特定版本。spring-doc.cn

请求结构
POST /streams/deployments/rollback/timelog1/1 HTTP/1.1
Content-Type: application/json
Host: localhost:9393

/streams/deployments/rollback/{name}/{版本}spring-doc.cn

参数 描述

namespring-doc.cn

现有流定义的名称 (必需)spring-doc.cn

versionspring-doc.cn

要回滚到的版本spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/deployments/rollback/timelog1/1' -i -X POST \
    -H 'Content-Type: application/json'
响应结构
HTTP/1.1 201 Created

44.7.6. 获取清单

返回已发布版本的清单。对于具有依赖项的软件包,清单包含这些依赖项的内容。spring-doc.cn

请求结构
GET /streams/deployments/manifest/timelog1/1 HTTP/1.1
Content-Type: application/json
Host: localhost:9393

/streams/deployments/manifest/{name}/{version}spring-doc.cn

参数 描述

namespring-doc.cn

现有流定义的名称 (必需)spring-doc.cn

versionspring-doc.cn

流的版本spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/deployments/manifest/timelog1/1' -i -X GET \
    -H 'Content-Type: application/json'
响应结构
HTTP/1.1 200 OK

44.7.7. 获取部署历史记录

获取流的部署历史记录。spring-doc.cn

请求结构
GET /streams/deployments/history/timelog1 HTTP/1.1
Content-Type: application/json
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/streams/deployments/history/timelog1' -i -X GET \
    -H 'Content-Type: application/json'
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 162

[ {
  "name" : null,
  "version" : 0,
  "info" : null,
  "pkg" : null,
  "configValues" : {
    "raw" : null
  },
  "manifest" : null,
  "platformName" : null
} ]

44.7.8. 获取部署平台

检索支持的部署平台列表。spring-doc.cn

请求结构
GET /streams/deployments/platform/list HTTP/1.1
Content-Type: application/json
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/streams/deployments/platform/list' -i -X GET \
    -H 'Content-Type: application/json'
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 106

[ {
  "id" : null,
  "name" : "default",
  "type" : "local",
  "description" : null,
  "options" : [ ]
} ]

44.7.9. 缩放流定义

流定义终端节点允许您在流定义中扩展单个应用程序。 (可选)您可以将应用程序参数作为请求正文中的属性传递。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
POST /streams/deployments/scale/timelog/log/instances/1 HTTP/1.1
Content-Type: application/json
Content-Length: 36
Host: localhost:9393

{"app.time.timestamp.format":"YYYY"}

/streams/deployments/scale/{streamName}/{appName}/instances/{count}spring-doc.cn

参数 描述

streamNamespring-doc.cn

现有流定义的名称 (必需)spring-doc.cn

appNamespring-doc.cn

在 Stream 应用程序名称中进行扩展spring-doc.cn

countspring-doc.cn

所选 Stream 应用程序的实例数(必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/streams/deployments/scale/timelog/log/instances/1' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"app.time.timestamp.format":"YYYY"}'
响应结构
HTTP/1.1 201 Created

44.8. 任务定义

任务定义终端节点提供有关向 Spring Cloud Data Flow 服务器注册的任务定义的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.8.1. 创建新的任务定义

任务定义端点允许您创建新的任务定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
POST /tasks/definitions HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

name=my-task&definition=timestamp+--format%3D%27YYYY+MM+DD%27&description=Demo+task+definition+for+testing
请求参数
参数 描述

namespring-doc.cn

已创建任务定义的名称spring-doc.cn

definitionspring-doc.cn

使用 Data Flow DSL 的任务定义spring-doc.cn

descriptionspring-doc.cn

任务定义的描述spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/definitions' -i -X POST \
    -d 'name=my-task&definition=timestamp+--format%3D%27YYYY+MM+DD%27&description=Demo+task+definition+for+testing'
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 342

{
  "name" : "my-task",
  "dslText" : "timestamp --format='YYYY MM DD'",
  "description" : "Demo task definition for testing",
  "composed" : false,
  "composedTaskElement" : false,
  "lastTaskExecution" : null,
  "status" : "UNKNOWN",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/definitions/my-task"
    }
  }
}

44.8.2. 列出所有任务定义

任务定义端点允许您获取所有任务定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /tasks/definitions?page=0&size=10&sort=taskName%2CASC&search=&manifest=true HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

searchspring-doc.cn

对名称执行的搜索字符串(可选)spring-doc.cn

sortspring-doc.cn

列表中的排序 (可选)spring-doc.cn

manifestspring-doc.cn

用于将任务清单包含在最新任务执行中的标志(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/definitions?page=0&size=10&sort=taskName%2CASC&search=&manifest=true' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 689

{
  "_embedded" : {
    "taskDefinitionResourceList" : [ {
      "name" : "my-task",
      "dslText" : "timestamp --format='YYYY MM DD'",
      "description" : "Demo task definition for testing",
      "composed" : false,
      "composedTaskElement" : false,
      "lastTaskExecution" : null,
      "status" : "UNKNOWN",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/definitions/my-task"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/definitions?page=0&size=10&sort=taskName,asc"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.8.3. 检索任务定义详细信息

任务定义终端节点允许您获取单个任务定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /tasks/definitions/my-task?manifest=true HTTP/1.1
Host: localhost:9393

/tasks/definitions/{我的任务}spring-doc.cn

参数 描述

my-taskspring-doc.cn

现有任务定义的名称 (必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/definitions/my-task?manifest=true' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 342

{
  "name" : "my-task",
  "dslText" : "timestamp --format='YYYY MM DD'",
  "description" : "Demo task definition for testing",
  "composed" : false,
  "composedTaskElement" : false,
  "lastTaskExecution" : null,
  "status" : "UNKNOWN",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/definitions/my-task"
    }
  }
}

44.8.4. 删除任务定义

任务定义端点允许您删除单个任务定义。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
DELETE /tasks/definitions/my-task?cleanup=true HTTP/1.1
Host: localhost:9393

/tasks/definitions/{我的任务}spring-doc.cn

参数 描述

my-taskspring-doc.cn

现有任务定义的名称 (必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/definitions/my-task?cleanup=true' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.9. 任务调度器

任务计划程序端点提供有关向计划程序实施注册的任务计划的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.9.1. 创建新的任务计划

任务计划端点允许您创建新的任务计划。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
POST /tasks/schedules HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

scheduleName=myschedule&taskDefinitionName=mytaskname&properties=scheduler.cron.expression%3D00+22+17+%3F+*&arguments=--foo%3Dbar
请求参数
参数 描述

scheduleNamespring-doc.cn

已创建计划的名称spring-doc.cn

taskDefinitionNamespring-doc.cn

要计划的任务定义的名称spring-doc.cn

propertiesspring-doc.cn

计划和启动任务所需的属性spring-doc.cn

argumentsspring-doc.cn

用于启动任务的命令行参数spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/schedules' -i -X POST \
    -d 'scheduleName=myschedule&taskDefinitionName=mytaskname&properties=scheduler.cron.expression%3D00+22+17+%3F+*&arguments=--foo%3Dbar'
响应结构
HTTP/1.1 201 Created

44.9.2. 列出所有调度

任务计划端点允许您获取所有任务计划。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /tasks/schedules?page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/schedules?page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 587

{
  "_embedded" : {
    "scheduleInfoResourceList" : [ {
      "scheduleName" : "FOO",
      "taskDefinitionName" : "BAR",
      "scheduleProperties" : {
        "scheduler.AAA.spring.cloud.scheduler.cron.expression" : "00 41 17 ? * *"
      },
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/schedules/FOO"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/schedules?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.9.3. 列出过滤的 schedules

任务计划端点允许您获取具有指定任务定义名称的所有任务计划。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /tasks/schedules/instances/FOO?page=0&size=10 HTTP/1.1
Host: localhost:9393

/tasks/schedules/instances/{task-definition-name}spring-doc.cn

参数 描述

task-definition-namespring-doc.cn

根据指定的任务定义筛选计划(必需)spring-doc.cn

请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/schedules/instances/FOO?page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 599

{
  "_embedded" : {
    "scheduleInfoResourceList" : [ {
      "scheduleName" : "FOO",
      "taskDefinitionName" : "BAR",
      "scheduleProperties" : {
        "scheduler.AAA.spring.cloud.scheduler.cron.expression" : "00 41 17 ? * *"
      },
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/schedules/FOO"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/schedules/instances/FOO?page=0&size=1"
    }
  },
  "page" : {
    "size" : 1,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.9.4. 删除任务计划

任务计划端点允许您删除单个任务计划。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
DELETE /tasks/schedules/mytestschedule HTTP/1.1
Host: localhost:9393

/tasks/schedules/{scheduleName}spring-doc.cn

参数 描述

scheduleNamespring-doc.cn

现有计划的名称 (必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/schedules/mytestschedule' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.10. 任务验证

任务验证端点允许您验证任务定义中的应用程序。 以下主题提供了更多详细信息:spring-doc.cn

44.10.1. 请求结构

GET /tasks/validation/taskC HTTP/1.1
Host: localhost:9393

44.10.2. 路径参数

/tasks/validation/{name}spring-doc.cn

参数 描述

namespring-doc.cn

要验证的任务定义的名称 (必填)spring-doc.cn

44.10.3. 示例请求

$ curl 'http://localhost:9393/tasks/validation/taskC' -i -X GET

44.10.4. 响应结构

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 144

{
  "appName" : "taskC",
  "dsl" : "timestamp --format='yyyy MM dd'",
  "description" : "",
  "appStatuses" : {
    "task:taskC" : "valid"
  }
}

44.11. 任务执行

任务执行终端节点提供有关向 Spring Cloud Data Flow 服务器注册的任务执行的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.11.1. 启动任务

通过请求创建新任务执行来完成启动任务。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
POST /tasks/executions HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

name=taskA&properties=app.my-task.foo%3Dbar%2Cdeployer.my-task.something-else%3D3&arguments=--server.port%3D8080+--foo%3Dbar
请求参数
参数 描述

namespring-doc.cn

要启动的任务定义的名称spring-doc.cn

propertiesspring-doc.cn

启动时使用的 Application 和 Deployer 属性spring-doc.cn

argumentsspring-doc.cn

要传递给任务的命令行参数spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/executions' -i -X POST \
    -d 'name=taskA&properties=app.my-task.foo%3Dbar%2Cdeployer.my-task.something-else%3D3&arguments=--server.port%3D8080+--foo%3Dbar'
响应结构
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 1

1

44.11.2. 停止任务

通过发布现有任务执行的 ID 来完成停止任务。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
POST /tasks/executions/1 HTTP/1.1
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

platform=default
路径参数

/tasks/executions/{id}spring-doc.cn

参数 描述

idspring-doc.cn

现有任务执行的 ID(必需)spring-doc.cn

请求参数
参数 描述

platformspring-doc.cn

与任务执行关联的平台(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/executions/1' -i -X POST \
    -d 'platform=default'
响应结构
HTTP/1.1 200 OK

44.11.3. 列出所有任务执行

任务执行终端节点允许您列出所有任务执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /tasks/executions?page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/executions?page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2263

{
  "_embedded" : {
    "taskExecutionResourceList" : [ {
      "executionId" : 2,
      "exitCode" : null,
      "taskName" : "taskB",
      "startTime" : null,
      "endTime" : null,
      "exitMessage" : null,
      "arguments" : [ ],
      "jobExecutionIds" : [ ],
      "errorMessage" : null,
      "externalExecutionId" : "taskB-d87c2154-43ae-47c2-8668-711abe2372f4",
      "parentExecutionId" : null,
      "resourceUrl" : "org.springframework.cloud.task.app:timestamp-task:jar:1.2.0.RELEASE",
      "appProperties" : {
        "timestamp.format" : "yyyy MM dd",
        "spring.datasource.username" : null,
        "spring.cloud.task.name" : "taskB",
        "spring.datasource.url" : null,
        "spring.datasource.driverClassName" : null
      },
      "deploymentProperties" : {
        "app.my-task.foo" : "bar",
        "deployer.my-task.something-else" : "3"
      },
      "taskExecutionStatus" : "UNKNOWN",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/executions/2"
        }
      }
    }, {
      "executionId" : 1,
      "exitCode" : null,
      "taskName" : "taskA",
      "startTime" : null,
      "endTime" : null,
      "exitMessage" : null,
      "arguments" : [ ],
      "jobExecutionIds" : [ ],
      "errorMessage" : null,
      "externalExecutionId" : "taskA-34fee112-b14b-490d-818f-72cb6a998997",
      "parentExecutionId" : null,
      "resourceUrl" : "org.springframework.cloud.task.app:timestamp-task:jar:1.2.0.RELEASE",
      "appProperties" : {
        "timestamp.format" : "yyyy MM dd",
        "spring.datasource.username" : null,
        "spring.cloud.task.name" : "taskA",
        "spring.datasource.url" : null,
        "spring.datasource.driverClassName" : null
      },
      "deploymentProperties" : {
        "app.my-task.foo" : "bar",
        "deployer.my-task.something-else" : "3"
      },
      "taskExecutionStatus" : "UNKNOWN",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/executions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/executions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

44.11.4. 列出具有指定任务名称的所有任务执行

任务执行终端节点允许您列出具有指定任务名称的任务执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /tasks/executions?name=taskB&page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

namespring-doc.cn

与任务执行关联的名称spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/executions?name=taskB&page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1268

{
  "_embedded" : {
    "taskExecutionResourceList" : [ {
      "executionId" : 2,
      "exitCode" : null,
      "taskName" : "taskB",
      "startTime" : null,
      "endTime" : null,
      "exitMessage" : null,
      "arguments" : [ ],
      "jobExecutionIds" : [ ],
      "errorMessage" : null,
      "externalExecutionId" : "taskB-d87c2154-43ae-47c2-8668-711abe2372f4",
      "parentExecutionId" : null,
      "resourceUrl" : "org.springframework.cloud.task.app:timestamp-task:jar:1.2.0.RELEASE",
      "appProperties" : {
        "timestamp.format" : "yyyy MM dd",
        "spring.datasource.username" : null,
        "spring.cloud.task.name" : "taskB",
        "spring.datasource.url" : null,
        "spring.datasource.driverClassName" : null
      },
      "deploymentProperties" : {
        "app.my-task.foo" : "bar",
        "deployer.my-task.something-else" : "3"
      },
      "taskExecutionStatus" : "UNKNOWN",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/tasks/executions/2"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/executions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.11.5. 任务执行细节

任务执行终端节点允许您获取有关任务执行的详细信息。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /tasks/executions/1 HTTP/1.1
Host: localhost:9393

/tasks/executions/{id}spring-doc.cn

参数 描述

idspring-doc.cn

现有任务执行的 ID(必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/executions/1' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 873

{
  "executionId" : 1,
  "exitCode" : null,
  "taskName" : "taskA",
  "startTime" : null,
  "endTime" : null,
  "exitMessage" : null,
  "arguments" : [ ],
  "jobExecutionIds" : [ ],
  "errorMessage" : null,
  "externalExecutionId" : "taskA-34fee112-b14b-490d-818f-72cb6a998997",
  "parentExecutionId" : null,
  "resourceUrl" : "org.springframework.cloud.task.app:timestamp-task:jar:1.2.0.RELEASE",
  "appProperties" : {
    "timestamp.format" : "yyyy MM dd",
    "spring.datasource.username" : null,
    "spring.cloud.task.name" : "taskA",
    "spring.datasource.url" : null,
    "spring.datasource.driverClassName" : null
  },
  "deploymentProperties" : {
    "app.my-task.foo" : "bar",
    "deployer.my-task.something-else" : "3"
  },
  "taskExecutionStatus" : "UNKNOWN",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/tasks/executions/1"
    }
  }
}

44.11.6. 删除任务执行

任务执行终端节点允许您:spring-doc.cn

  • 清理用于部署任务的资源spring-doc.cn

  • 从持久性存储中删除相关的任务数据以及可能关联的 Spring Batch 作业数据spring-doc.cn

清理实现(第一个选项)特定于平台。两种操作都可以触发 一次或分开。

以下主题提供了更多详细信息:spring-doc.cn

请参阅以下关于删除任务执行数据的信息。spring-doc.cn

请求结构
DELETE /tasks/executions/1,2?action=CLEANUP,REMOVE_DATA HTTP/1.1
Host: localhost:9393

/tasks/executions/{ids}spring-doc.cn

参数 描述

idsspring-doc.cn

提供 2 个逗号分隔的任务执行 ID 值。spring-doc.cn

您必须提供实际存在的任务执行 ID。否则,将返回 (Not Found) HTTP 状态。 在提交多个任务执行 ID 的情况下,单个任务执行 ID 的无效会导致整个请求失败。 不执行任何操作。404spring-doc.cn

请求参数

此终端节点支持一个名为 action 的可选请求参数。它是一个枚举并支持以下内容 值:spring-doc.cn

参数 描述

actionspring-doc.cn

同时使用 CLEANUP 和 REMOVE_DATA 这两个操作。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/executions/1,2?action=CLEANUP,REMOVE_DATA' -i -X DELETE
响应结构
HTTP/1.1 200 OK

44.11.7. 删除任务执行数据

您不仅可以清理用于部署任务的资源,还可以删除与 来自底层持久性存储的任务执行。此外,如果任务执行与一个 或 更多 Batch Job 执行,这些也会被删除。spring-doc.cn

以下示例说明了如何使用多个任务执行 ID 和多个操作发出请求:spring-doc.cn

$ curl 'http://localhost:9393/tasks/executions/1,2?action=CLEANUP,REMOVE_DATA' -i -X DELETE

/tasks/executions/{ids}spring-doc.cn

参数 描述

idsspring-doc.cn

提供 2 个逗号分隔的任务执行 ID 值。spring-doc.cn

参数 描述

actionspring-doc.cn

同时使用 CLEANUP 和 REMOVE_DATA 这两个操作。spring-doc.cn

使用 action 参数从持久性存储中删除数据时,您必须提供 表示父任务执行的任务执行 ID。当您提供子任务执行(作为组合任务的一部分执行)时, 返回 (Bad Request) HTTP 状态。REMOVE_DATA400

44.11.8. 任务执行当前计数

任务执行当前终端节点允许您检索当前正在运行的执行数。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /tasks/executions/current HTTP/1.1
Host: localhost:9393
请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/executions/current' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 111

[ {
  "name" : "default",
  "type" : "Local",
  "maximumTaskExecutions" : 20,
  "runningExecutionCount" : 1
} ]

44.12. 任务执行

任务执行终端节点提供有关向 Spring Cloud Data Flow 服务器注册的任务执行的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.12.1. 列出所有任务执行

任务执行终端节点允许您列出所有任务执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/executions?page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/executions?page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3381

{
  "_embedded" : {
    "jobExecutionResourceList" : [ {
      "executionId" : 2,
      "stepExecutionCount" : 0,
      "jobId" : 2,
      "taskExecutionId" : 2,
      "name" : "DOCJOB_1",
      "startDate" : "2020-11-25",
      "startTime" : "02:27:19",
      "duration" : "00:00:00",
      "jobExecution" : {
        "id" : 2,
        "version" : 1,
        "jobParameters" : {
          "parameters" : { },
          "empty" : true
        },
        "jobInstance" : {
          "id" : 2,
          "version" : null,
          "jobName" : "DOCJOB_1",
          "instanceId" : 2
        },
        "stepExecutions" : [ ],
        "status" : "STOPPED",
        "startTime" : "2020-11-25T02:27:19.265+0000",
        "createTime" : "2020-11-25T02:27:19.263+0000",
        "endTime" : null,
        "lastUpdated" : "2020-11-25T02:27:19.265+0000",
        "exitStatus" : {
          "exitCode" : "UNKNOWN",
          "exitDescription" : "",
          "running" : true
        },
        "executionContext" : {
          "dirty" : false,
          "empty" : true,
          "values" : [ ]
        },
        "failureExceptions" : [ ],
        "jobConfigurationName" : null,
        "running" : true,
        "jobId" : 2,
        "stopping" : false,
        "allFailureExceptions" : [ ]
      },
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : true,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : true,
      "timeZone" : "UTC",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/executions/2"
        }
      }
    }, {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2020-11-25",
      "startTime" : "02:27:19",
      "duration" : "00:00:00",
      "jobExecution" : {
        "id" : 1,
        "version" : 2,
        "jobParameters" : {
          "parameters" : { },
          "empty" : true
        },
        "jobInstance" : {
          "id" : 1,
          "version" : null,
          "jobName" : "DOCJOB",
          "instanceId" : 1
        },
        "stepExecutions" : [ ],
        "status" : "STOPPING",
        "startTime" : "2020-11-25T02:27:19.252+0000",
        "createTime" : "2020-11-25T02:27:19.240+0000",
        "endTime" : null,
        "lastUpdated" : "2020-11-25T02:27:19.579+0000",
        "exitStatus" : {
          "exitCode" : "UNKNOWN",
          "exitDescription" : "",
          "running" : true
        },
        "executionContext" : {
          "dirty" : false,
          "empty" : true,
          "values" : [ ]
        },
        "failureExceptions" : [ ],
        "jobConfigurationName" : null,
        "running" : true,
        "jobId" : 1,
        "stopping" : true,
        "allFailureExceptions" : [ ]
      },
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/executions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

44.12.2. 列出不包含步骤执行的所有任务执行

任务执行终端节点允许您列出所有任务执行,不包括步骤执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/thinexecutions?page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/thinexecutions?page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1605

{
  "_embedded" : {
    "jobExecutionThinResourceList" : [ {
      "executionId" : 2,
      "stepExecutionCount" : 0,
      "jobId" : 2,
      "taskExecutionId" : 2,
      "instanceId" : 2,
      "name" : "DOCJOB_1",
      "startDate" : "2020-11-25",
      "startTime" : "02:27:19",
      "startDateTime" : "2020-11-25T02:27:19.265+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : true,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : true,
      "timeZone" : "UTC",
      "status" : "STOPPED",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/2"
        }
      }
    }, {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "instanceId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2020-11-25",
      "startTime" : "02:27:19",
      "startDateTime" : "2020-11-25T02:27:19.252+0000",
      "duration" : "00:00:00",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : false,
      "stoppable" : true,
      "defined" : false,
      "timeZone" : "UTC",
      "status" : "STARTED",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/thinexecutions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

44.12.3. 列出具有指定 Job name 的所有任务执行

任务执行终端节点允许您列出所有任务执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/executions?name=DOCJOB&page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

namespring-doc.cn

与任务执行关联的名称spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/executions?name=DOCJOB&page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1825

{
  "_embedded" : {
    "jobExecutionResourceList" : [ {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2020-11-25",
      "startTime" : "02:27:19",
      "duration" : "00:00:01",
      "jobExecution" : {
        "id" : 1,
        "version" : 2,
        "jobParameters" : {
          "parameters" : { },
          "empty" : true
        },
        "jobInstance" : {
          "id" : 1,
          "version" : null,
          "jobName" : "DOCJOB",
          "instanceId" : 1
        },
        "stepExecutions" : [ ],
        "status" : "STOPPING",
        "startTime" : "2020-11-25T02:27:19.252+0000",
        "createTime" : "2020-11-25T02:27:19.240+0000",
        "endTime" : null,
        "lastUpdated" : "2020-11-25T02:27:19.579+0000",
        "exitStatus" : {
          "exitCode" : "UNKNOWN",
          "exitDescription" : "",
          "running" : true
        },
        "executionContext" : {
          "dirty" : false,
          "empty" : true,
          "values" : [ ]
        },
        "failureExceptions" : [ ],
        "jobConfigurationName" : null,
        "running" : true,
        "jobId" : 1,
        "stopping" : true,
        "allFailureExceptions" : [ ]
      },
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/executions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.12.4. 列出具有指定任务名称(不包含步骤执行)的所有任务执行

任务执行终端节点允许您列出所有任务执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/thinexecutions?name=DOCJOB&page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

namespring-doc.cn

与任务执行关联的名称spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/thinexecutions?name=DOCJOB&page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 943

{
  "_embedded" : {
    "jobExecutionThinResourceList" : [ {
      "executionId" : 1,
      "stepExecutionCount" : 0,
      "jobId" : 1,
      "taskExecutionId" : 1,
      "instanceId" : 1,
      "name" : "DOCJOB",
      "startDate" : "2020-11-25",
      "startTime" : "02:27:19",
      "startDateTime" : "2020-11-25T02:27:19.252+0000",
      "duration" : "00:00:01",
      "jobParameters" : { },
      "jobParametersString" : "",
      "restartable" : false,
      "abandonable" : true,
      "stoppable" : false,
      "defined" : false,
      "timeZone" : "UTC",
      "status" : "STOPPING",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/thinexecutions/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/thinexecutions?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.12.5. 任务执行细节

任务执行终端节点允许您获取有关任务执行的详细信息。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/executions/2 HTTP/1.1
Host: localhost:9393

/jobs/executions/{id}spring-doc.cn

参数 描述

idspring-doc.cn

现有任务执行的 ID(必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/executions/2' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1323

{
  "executionId" : 2,
  "stepExecutionCount" : 0,
  "jobId" : 2,
  "taskExecutionId" : 2,
  "name" : "DOCJOB_1",
  "startDate" : "2020-11-25",
  "startTime" : "02:27:19",
  "duration" : "00:00:01",
  "jobExecution" : {
    "id" : 2,
    "version" : 1,
    "jobParameters" : {
      "parameters" : { },
      "empty" : true
    },
    "jobInstance" : {
      "id" : 2,
      "version" : 0,
      "jobName" : "DOCJOB_1",
      "instanceId" : 2
    },
    "stepExecutions" : [ ],
    "status" : "STOPPED",
    "startTime" : "2020-11-25T02:27:19.265+0000",
    "createTime" : "2020-11-25T02:27:19.263+0000",
    "endTime" : null,
    "lastUpdated" : "2020-11-25T02:27:19.265+0000",
    "exitStatus" : {
      "exitCode" : "UNKNOWN",
      "exitDescription" : "",
      "running" : true
    },
    "executionContext" : {
      "dirty" : false,
      "empty" : true,
      "values" : [ ]
    },
    "failureExceptions" : [ ],
    "jobConfigurationName" : null,
    "running" : true,
    "jobId" : 2,
    "stopping" : false,
    "allFailureExceptions" : [ ]
  },
  "jobParameters" : { },
  "jobParametersString" : "",
  "restartable" : true,
  "abandonable" : true,
  "stoppable" : false,
  "defined" : true,
  "timeZone" : "UTC",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions/2"
    }
  }
}

44.12.6. 停止任务执行

任务执行终端节点允许您停止任务执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
PUT /jobs/executions/1 HTTP/1.1
Accept: application/json
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

stop=true

/jobs/executions/{id}spring-doc.cn

参数 描述

idspring-doc.cn

现有任务执行的 ID(必需)spring-doc.cn

请求参数
参数 描述

stopspring-doc.cn

如果设置为 true,则发送信号以停止作业spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/executions/1' -i -X PUT \
    -H 'Accept: application/json' \
    -d 'stop=true'
响应结构
HTTP/1.1 200 OK

44.12.7. 重新启动任务执行

任务执行终端节点允许您重新启动任务执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
PUT /jobs/executions/2 HTTP/1.1
Accept: application/json
Host: localhost:9393
Content-Type: application/x-www-form-urlencoded

restart=true

/jobs/executions/{id}spring-doc.cn

参数 描述

idspring-doc.cn

现有任务执行的 ID(必需)spring-doc.cn

请求参数
参数 描述

restartspring-doc.cn

如果设置为 true,则发送信号以重新启动作业spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/executions/2' -i -X PUT \
    -H 'Accept: application/json' \
    -d 'restart=true'
响应结构
HTTP/1.1 200 OK

44.13. 作业实例

作业实例终端节点提供有关向 Spring Cloud Data Flow 服务器注册的作业实例的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.13.1. 列出所有 Job 实例

的 job instances 端点允许您列出所有 job 实例。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/instances?name=DOCJOB&page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

namespring-doc.cn

与作业实例关联的名称spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/instances?name=DOCJOB&page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2014

{
  "_embedded" : {
    "jobInstanceResourceList" : [ {
      "jobName" : "DOCJOB",
      "jobInstanceId" : 1,
      "jobExecutions" : [ {
        "executionId" : 1,
        "stepExecutionCount" : 0,
        "jobId" : 1,
        "taskExecutionId" : 1,
        "name" : "DOCJOB",
        "startDate" : "2020-11-25",
        "startTime" : "02:27:04",
        "duration" : "00:00:00",
        "jobExecution" : {
          "id" : 1,
          "version" : 1,
          "jobParameters" : {
            "parameters" : { },
            "empty" : true
          },
          "jobInstance" : {
            "id" : 1,
            "version" : 0,
            "jobName" : "DOCJOB",
            "instanceId" : 1
          },
          "stepExecutions" : [ ],
          "status" : "STARTED",
          "startTime" : "2020-11-25T02:27:04.043+0000",
          "createTime" : "2020-11-25T02:27:04.031+0000",
          "endTime" : null,
          "lastUpdated" : "2020-11-25T02:27:04.043+0000",
          "exitStatus" : {
            "exitCode" : "UNKNOWN",
            "exitDescription" : "",
            "running" : true
          },
          "executionContext" : {
            "dirty" : false,
            "empty" : true,
            "values" : [ ]
          },
          "failureExceptions" : [ ],
          "jobConfigurationName" : null,
          "running" : true,
          "jobId" : 1,
          "stopping" : false,
          "allFailureExceptions" : [ ]
        },
        "jobParameters" : { },
        "jobParametersString" : "",
        "restartable" : false,
        "abandonable" : false,
        "stoppable" : true,
        "defined" : false,
        "timeZone" : "UTC"
      } ],
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/instances/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/instances?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.13.2. Job 实例详细信息

的 job instances 端点允许您列出所有 job 实例。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/instances/1 HTTP/1.1
Host: localhost:9393

/jobs/instances/{id}spring-doc.cn

参数 描述

idspring-doc.cn

现有作业实例的 ID(必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/instances/1' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1499

{
  "jobName" : "DOCJOB",
  "jobInstanceId" : 1,
  "jobExecutions" : [ {
    "executionId" : 1,
    "stepExecutionCount" : 0,
    "jobId" : 1,
    "taskExecutionId" : 1,
    "name" : "DOCJOB",
    "startDate" : "2020-11-25",
    "startTime" : "02:27:04",
    "duration" : "00:00:00",
    "jobExecution" : {
      "id" : 1,
      "version" : 1,
      "jobParameters" : {
        "parameters" : { },
        "empty" : true
      },
      "jobInstance" : {
        "id" : 1,
        "version" : 0,
        "jobName" : "DOCJOB",
        "instanceId" : 1
      },
      "stepExecutions" : [ ],
      "status" : "STARTED",
      "startTime" : "2020-11-25T02:27:04.043+0000",
      "createTime" : "2020-11-25T02:27:04.031+0000",
      "endTime" : null,
      "lastUpdated" : "2020-11-25T02:27:04.043+0000",
      "exitStatus" : {
        "exitCode" : "UNKNOWN",
        "exitDescription" : "",
        "running" : true
      },
      "executionContext" : {
        "dirty" : false,
        "empty" : true,
        "values" : [ ]
      },
      "failureExceptions" : [ ],
      "jobConfigurationName" : null,
      "running" : true,
      "jobId" : 1,
      "stopping" : false,
      "allFailureExceptions" : [ ]
    },
    "jobParameters" : { },
    "jobParametersString" : "",
    "restartable" : false,
    "abandonable" : false,
    "stoppable" : true,
    "defined" : false,
    "timeZone" : "UTC"
  } ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/instances/1"
    }
  }
}

44.14. 作业步骤执行

作业步骤执行终端节点提供有关注册到 Spring Cloud Data Flow 服务器的作业步骤执行的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.14.1. 列出任务执行的所有步骤执行

任务步骤执行终端节点允许您列出所有任务步骤执行。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/executions/1/steps?page=0&size=10 HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

pagespring-doc.cn

从零开始的页码(可选)spring-doc.cn

sizespring-doc.cn

请求的页面大小(可选)spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/executions/1/steps?page=0&size=10' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1677

{
  "_embedded" : {
    "stepExecutionResourceList" : [ {
      "jobExecutionId" : 1,
      "stepExecution" : {
        "id" : 1,
        "version" : 0,
        "stepName" : "DOCJOB_STEP",
        "status" : "STARTING",
        "readCount" : 0,
        "writeCount" : 0,
        "commitCount" : 0,
        "rollbackCount" : 0,
        "readSkipCount" : 0,
        "processSkipCount" : 0,
        "writeSkipCount" : 0,
        "startTime" : "2020-11-25T02:26:18.530+0000",
        "endTime" : null,
        "lastUpdated" : "2020-11-25T02:26:18.530+0000",
        "executionContext" : {
          "dirty" : false,
          "empty" : true,
          "values" : [ ]
        },
        "exitStatus" : {
          "exitCode" : "EXECUTING",
          "exitDescription" : "",
          "running" : true
        },
        "terminateOnly" : false,
        "filterCount" : 0,
        "failureExceptions" : [ ],
        "jobParameters" : {
          "parameters" : { },
          "empty" : true
        },
        "jobExecutionId" : 1,
        "skipCount" : 0,
        "summary" : "StepExecution: id=1, version=0, name=DOCJOB_STEP, status=STARTING, exitStatus=EXECUTING, readCount=0, filterCount=0, writeCount=0 readSkipCount=0, writeSkipCount=0, processSkipCount=0, commitCount=0, rollbackCount=0"
      },
      "stepType" : "",
      "_links" : {
        "self" : {
          "href" : "http://localhost:9393/jobs/executions/1/steps/1"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions/1/steps?page=0&size=10"
    }
  },
  "page" : {
    "size" : 10,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

44.14.2. Job Step 执行细节

任务步骤执行终端节点允许您获取有关任务步骤执行的详细信息。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/executions/1/steps/1 HTTP/1.1
Host: localhost:9393

/jobs/executions/{id}/steps/{stepid}spring-doc.cn

参数 描述

idspring-doc.cn

现有任务执行的 ID(必需)spring-doc.cn

stepidspring-doc.cn

特定任务执行的现有步骤执行的 ID(必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/executions/1/steps/1' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1219

{
  "jobExecutionId" : 1,
  "stepExecution" : {
    "id" : 1,
    "version" : 0,
    "stepName" : "DOCJOB_STEP",
    "status" : "STARTING",
    "readCount" : 0,
    "writeCount" : 0,
    "commitCount" : 0,
    "rollbackCount" : 0,
    "readSkipCount" : 0,
    "processSkipCount" : 0,
    "writeSkipCount" : 0,
    "startTime" : "2020-11-25T02:26:18.530+0000",
    "endTime" : null,
    "lastUpdated" : "2020-11-25T02:26:18.530+0000",
    "executionContext" : {
      "dirty" : false,
      "empty" : true,
      "values" : [ ]
    },
    "exitStatus" : {
      "exitCode" : "EXECUTING",
      "exitDescription" : "",
      "running" : true
    },
    "terminateOnly" : false,
    "filterCount" : 0,
    "failureExceptions" : [ ],
    "jobParameters" : {
      "parameters" : { },
      "empty" : true
    },
    "jobExecutionId" : 1,
    "skipCount" : 0,
    "summary" : "StepExecution: id=1, version=0, name=DOCJOB_STEP, status=STARTING, exitStatus=EXECUTING, readCount=0, filterCount=0, writeCount=0 readSkipCount=0, writeSkipCount=0, processSkipCount=0, commitCount=0, rollbackCount=0"
  },
  "stepType" : "",
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions/1/steps/1"
    }
  }
}

44.14.3. Job Step 执行进度

任务步骤执行终端节点允许您获取有关任务步骤执行进度的详细信息。 以下主题提供了更多详细信息:spring-doc.cn

请求结构
GET /jobs/executions/1/steps/1/progress HTTP/1.1
Host: localhost:9393

/jobs/executions/{id}/steps/{stepid}/progressspring-doc.cn

参数 描述

idspring-doc.cn

现有任务执行的 ID(必需)spring-doc.cn

stepidspring-doc.cn

特定任务执行的现有步骤执行的 ID(必需)spring-doc.cn

请求参数

此终端节点没有请求参数。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/jobs/executions/1/steps/1/progress' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2722

{
  "stepExecution" : {
    "id" : 1,
    "version" : 0,
    "stepName" : "DOCJOB_STEP",
    "status" : "STARTING",
    "readCount" : 0,
    "writeCount" : 0,
    "commitCount" : 0,
    "rollbackCount" : 0,
    "readSkipCount" : 0,
    "processSkipCount" : 0,
    "writeSkipCount" : 0,
    "startTime" : "2020-11-25T02:26:18.530+0000",
    "endTime" : null,
    "lastUpdated" : "2020-11-25T02:26:18.530+0000",
    "executionContext" : {
      "dirty" : false,
      "empty" : true,
      "values" : [ ]
    },
    "exitStatus" : {
      "exitCode" : "EXECUTING",
      "exitDescription" : "",
      "running" : true
    },
    "terminateOnly" : false,
    "filterCount" : 0,
    "failureExceptions" : [ ],
    "jobParameters" : {
      "parameters" : { },
      "empty" : true
    },
    "jobExecutionId" : 1,
    "skipCount" : 0,
    "summary" : "StepExecution: id=1, version=0, name=DOCJOB_STEP, status=STARTING, exitStatus=EXECUTING, readCount=0, filterCount=0, writeCount=0 readSkipCount=0, writeSkipCount=0, processSkipCount=0, commitCount=0, rollbackCount=0"
  },
  "stepExecutionHistory" : {
    "stepName" : "DOCJOB_STEP",
    "count" : 0,
    "commitCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "rollbackCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "readCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "writeCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "filterCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "readSkipCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "writeSkipCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "processSkipCount" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "duration" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    },
    "durationPerRead" : {
      "count" : 0,
      "min" : 0.0,
      "max" : 0.0,
      "mean" : 0.0,
      "standardDeviation" : 0.0
    }
  },
  "percentageComplete" : 0.5,
  "finished" : false,
  "duration" : 339.0,
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/jobs/executions/1/steps/1"
    }
  }
}

44.15. 有关应用程序的运行时信息

您可以全局或单独获取有关系统已知正在运行的应用程序的信息。 以下主题提供了更多详细信息:spring-doc.cn

44.15.1. 在运行时列出所有应用程序

要检索有关所有应用程序的所有实例的信息,请使用 查询终端节点。 以下主题提供了更多详细信息:/runtime/appsGETspring-doc.cn

请求结构
GET /runtime/apps HTTP/1.1
Accept: application/json
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/runtime/apps' -i -X GET \
    -H 'Accept: application/json'
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 209

{
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/runtime/apps?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

44.15.2. 查询单个应用程序的所有实例

要检索有关特定应用程序的所有实例的信息,请使用 . 以下主题提供了更多详细信息:/runtime/apps/<appId>/instancesGETspring-doc.cn

请求结构
GET /runtime/apps HTTP/1.1
Accept: application/json
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/runtime/apps' -i -X GET \
    -H 'Accept: application/json'
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 209

{
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/runtime/apps?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

44.15.3. 查询单个应用程序的单个实例

要检索有关特定应用程序的特定实例的信息,请使用 查询端点。 以下主题提供了更多详细信息:/runtime/apps/<appId>/instances/<instanceId>GETspring-doc.cn

请求结构
GET /runtime/apps HTTP/1.1
Accept: application/json
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/runtime/apps' -i -X GET \
    -H 'Accept: application/json'
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 209

{
  "_links" : {
    "self" : {
      "href" : "http://localhost:9393/runtime/apps?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 0,
    "totalPages" : 0,
    "number" : 0
  }
}

44.16. 流日志

您可以获取整个流或流中特定应用程序的流的应用程序日志。 以下主题提供了更多详细信息:spring-doc.cn

44.16.1. 通过流名称获取应用程序的日志

将 HTTP 方法与 REST 终端节点结合使用,以检索给定流名称的所有应用程序日志。 以下主题提供了更多详细信息:GET/streams/logs/<streamName>spring-doc.cn

请求结构
GET /streams/logs/ticktock HTTP/1.1
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/streams/logs/ticktock' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 93

{
  "logs" : {
    "ticktock-time-v1" : "Logs-time",
    "ticktock-log-v1" : "Logs-log"
  }
}

44.16.2. 从流中获取特定应用程序的日志

要从流中检索特定应用程序的日志,请使用 HTTP 方法查询终端节点。 以下主题提供了更多详细信息:/streams/logs/<streamName>/<appName>GETspring-doc.cn

请求结构
GET /streams/logs/ticktock/ticktock-log-v1 HTTP/1.1
Host: localhost:9393
示例请求
$ curl 'http://localhost:9393/streams/logs/ticktock/ticktock-log-v1' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 55

{
  "logs" : {
    "ticktock-log-v1" : "Logs-log"
  }
}

44.17. 任务日志

您可以获取特定任务执行的任务执行日志。spring-doc.cn

以下主题提供了更多详细信息:spring-doc.cn

44.17.1. 获取任务执行日志

要检索任务执行的日志,请使用 HTTP 方法查询终端节点。 以下主题提供了更多详细信息:/tasks/logs/<ExternalTaskExecutionId>GETspring-doc.cn

请求结构
GET /tasks/logs/taskA-6b69deee-52b6-49e8-999e-23db51023ca5?platformName=default HTTP/1.1
Host: localhost:9393
请求参数
参数 描述

platformNamespring-doc.cn

启动任务的平台的名称。spring-doc.cn

示例请求
$ curl 'http://localhost:9393/tasks/logs/taskA-6b69deee-52b6-49e8-999e-23db51023ca5?platformName=default' -i -X GET
响应结构
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 10034

"2020-11-25 02:22:50.997  INFO 3700 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@1b9e1916: startup date [Wed Nov 25 02:22:50 UTC 2020]; root of context hierarchy\n2020-11-25 02:22:51.242  INFO 3700 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$bed7307a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)\n\n  .   ____          _            __ _ _\n /\\\\ / ___'_ __ _ _(_)_ __  __ _ \\ \\ \\ \\\n( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\\n \\\\/  ___)| |_)| | | | | || (_| |  ) ) ) )\n  '  |____| .__|_| |_|_| |_\\__, | / / / /\n =========|_|==============|___/=/_/_/_/\n :: Spring Boot ::        (v1.5.2.RELEASE)\n\n2020-11-25 02:22:51.422  INFO 3700 --- [           main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at: http://localhost:8888\n2020-11-25 02:22:51.477  WARN 3700 --- [           main] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET request for \"http://localhost:8888/timestamp-task/default\": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused)\n2020-11-25 02:22:51.479  INFO 3700 --- [           main] o.s.c.t.a.t.TimestampTaskApplication     : No active profile set, falling back to default profiles: default\n2020-11-25 02:22:51.491  INFO 3700 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@233c0b17: startup date [Wed Nov 25 02:22:51 UTC 2020]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@1b9e1916\n2020-11-25 02:22:51.873  INFO 3700 --- [           main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=1e36064f-ccbe-3d2f-9196-128427cc78a0\n2020-11-25 02:22:51.925  INFO 3700 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$bed7307a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)\n2020-11-25 02:22:51.931  INFO 3700 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$a2bd2d7d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)\n2020-11-25 02:22:52.443  INFO 3700 --- [           main] o.s.jdbc.datasource.init.ScriptUtils     : Executing SQL script from class path resource [org/springframework/cloud/task/schema-h2.sql]\n2020-11-25 02:22:52.474  INFO 3700 --- [           main] o.s.jdbc.datasource.init.ScriptUtils     : Executed SQL script from class path resource [org/springframework/cloud/task/schema-h2.sql] in 30 ms.\n2020-11-25 02:22:52.743  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup\n2020-11-25 02:22:52.748  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'configurationPropertiesRebinder' has been autodetected for JMX exposure\n2020-11-25 02:22:52.749  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'environmentManager' has been autodetected for JMX exposure\n2020-11-25 02:22:52.749  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Bean with name 'refreshScope' has been autodetected for JMX exposure\n2020-11-25 02:22:52.751  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Located managed bean 'environmentManager': registering with JMX server as MBean [taskA-6b69deee-52b6-49e8-999e-23db51023ca5:name=environmentManager,type=EnvironmentManager]\n2020-11-25 02:22:52.760  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Located managed bean 'refreshScope': registering with JMX server as MBean [taskA-6b69deee-52b6-49e8-999e-23db51023ca5:name=refreshScope,type=RefreshScope]\n2020-11-25 02:22:52.766  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Located managed bean 'configurationPropertiesRebinder': registering with JMX server as MBean [taskA-6b69deee-52b6-49e8-999e-23db51023ca5:name=configurationPropertiesRebinder,context=233c0b17,type=ConfigurationPropertiesRebinder]\n2020-11-25 02:22:52.913  INFO 3700 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase 0\n2020-11-25 02:22:52.924  WARN 3700 --- [           main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'taskLifecycleListener'; nested exception is java.lang.IllegalArgumentException: Invalid TaskExecution, ID 1 not found\n2020-11-25 02:22:52.925  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown\n2020-11-25 02:22:52.925  INFO 3700 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans\n2020-11-25 02:22:52.925 ERROR 3700 --- [           main] o.s.c.t.listener.TaskLifecycleListener   : An event to end a task has been received for a task that has not yet started.\n2020-11-25 02:22:52.931  INFO 3700 --- [           main] utoConfigurationReportLoggingInitializer : \n\nError starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.\n2020-11-25 02:22:52.936 ERROR 3700 --- [           main] o.s.boot.SpringApplication               : Application startup failed\n\norg.springframework.context.ApplicationContextException: Failed to start bean 'taskLifecycleListener'; nested exception is java.lang.IllegalArgumentException: Invalid TaskExecution, ID 1 not found\n\tat org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:50) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:348) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:151) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:114) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:879) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE]\n\tat org.springframework.cloud.task.app.timestamp.TimestampTaskApplication.main(TimestampTaskApplication.java:29) [classes!/:1.2.0.RELEASE]\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_232]\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_232]\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_232]\n\tat java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_232]\n\tat org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [timestamp-task-1.2.0.RELEASE.jar:1.2.0.RELEASE]\n\tat org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [timestamp-task-1.2.0.RELEASE.jar:1.2.0.RELEASE]\n\tat org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [timestamp-task-1.2.0.RELEASE.jar:1.2.0.RELEASE]\n\tat org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [timestamp-task-1.2.0.RELEASE.jar:1.2.0.RELEASE]\nCaused by: java.lang.IllegalArgumentException: Invalid TaskExecution, ID 1 not found\n\tat org.springframework.util.Assert.notNull(Assert.java:134) ~[spring-core-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\tat org.springframework.cloud.task.listener.TaskLifecycleListener.doTaskStart(TaskLifecycleListener.java:200) ~[spring-cloud-task-core-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]\n\tat org.springframework.cloud.task.listener.TaskLifecycleListener.start(TaskLifecycleListener.java:282) ~[spring-cloud-task-core-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]\n\tat org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:175) ~[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE]\n\t... 20 common frames omitted\n\n"