使用 SAP Automation Pilot 构建技术运维自动化流
学习目标
使用 SAP Automation Pilot 构建技术运维自动化流。
SAP Automation Pilot

SAP Automation Pilot 的目标是简化和自动化复杂的手动技术流程与流。这使 DevOps 团队能够设计并执行自动化流,以最小的运维投入在 SAP BTP 上运行其解决方案。
SAP Automation Pilot 是一个低代码/无代码自动化引擎,让您可以:
自动化步骤序列,
以无服务器方式执行脚本,
使用 SAP 提供的命令目录,自动化 SAP BTP 环境内外的典型运维任务,
构建自定义自动化。该服务被设计为即使在繁重工作负载下也能保持低延迟运行,并且能够同时触发数百个自动化。
观看下方视频,进一步了解 SAP Automation Pilot。
视频:本节含 SAP 官方视频(视频 ID
1_g8ysrw60),需在 learning.sap.com 在线观看。
在 SAP Automation Pilot 中设计您的第一个命令
在创建第一个自动化命令之前,有几个关键概念需要了解,以便更好地理解如何使用 SAP Automation Pilot。请参阅以下内容:
Command(命令) – 您执行的顶层自动化实体。命令是带版本的,由一个或多个按顺序连接的 executors(执行器) 构成。命令声明 inputs(输入) (您传入的参数)和 outputs(输出) (执行器产生的命名值),您可以通过 dynamic expressions(动态表达式) 引用它们。
Input (Key)(输入(键)) – 命令在运行时接受的带类型变量(string、number、boolean、secure/text、list、map)。输入可以具有校验规则(必填、允许值)、默认值和描述。
Executor(执行器) – 命令内部的一个步骤。存在多种类型(例如 Script、HTTP、Kubernetes、BTP、Cloud Foundry 等)。执行器按顺序运行,并且可以引用命令的输入以及 先前 执行器产生的任何输出。
Output (Key)(输出(键)) – 命令向调用方提供的命名值。在底层,输出由执行器的 output value(输出值) 赋值(例如 HTTP 响应的正文、派生的布尔值或提取的字段)。
Output Value(输出值) – 执行器产生的实际运行时值(string、number、boolean、object 等)。您将这些值映射到命令的输出键。
Provided Catalogs(提供的目录) – SAP 提供的预构建目录磁贴(例如 http-sapcp/HttpRequest),您可以导入并复用,或与您自己的命令组合使用。
SAP Automation Pilot 包含现成的命令,例如 HttpRequest,它让您可以将 HTTP 请求发送到任何公共端点。它易于使用,可与大多数现代 HTTP API 配合使用,但对请求可运行的时间长度和响应大小有限制。
某些情况(例如调用缓慢的同步 API 或处理大型响应)需要更大的灵活性。对于这些情况,您可以使用 ExecuteScript 命令。它在安全隔离的环境中运行脚本,最长可达 5 分钟,CPU、内存和存储均有限。它支持 bash、Python 和 Node.js,并包含 curl、jq 和 Git 等常用工具。
示例
在当前示例中,我们将探索并运行第一个简单命令,以便开始使用 SAP Automation Pilot。
它将是一个可复用的命令,能够:
接受 URL、method、headers 和 body 等输入。
使用 script(脚本) 执行器执行 HTTP 调用。
暴露 statusCode 、 responseBody 和 responseHeader 等输出供下游使用。
快速失败并给出清晰的错误消息,即使出错时也会发出结构化输出。
为此,请先将示例目录的内容(为加速您的入门而准备)导入您的 SAP Automation Pilot 租户。然后,导航到 HttpRequestViaScript 命令并触发它。
重要提示:要了解如何从示例仓库导入即用内容,请参阅以下资源:
示例仓库 – 使用方法
SAP Automation Pilot 帮助文档 - 操作 (请查看 Import 部分)
如何在 SAP Automation Pilot 中导入即用目录
您需要为以下输入键提供值:
method
要使用的请求方法
url
要将请求发送到的 URL
body
可选:随请求发送的请求正文
headers
可选:随请求发送的请求标头
timeout
可选:请求可以耗用的最长时间。默认为 60 秒。允许的最大值为 240 秒。
user
可选:用于服务器认证的用户名
password
可选:用于服务器认证的密码
authorizationHeader
可选:HTTP 授权标头的显式值。覆盖所有其他形式的认证
responseBodyTransformer
可选:用于转换响应正文的 JQ 表达式。格式必须遵循 https://github.com/stedolan/jq 中描述的格式
现在,让我们使用以下输入执行命令 HttpRequestViaScript:
method
GET
url
https://eu10.autopilot.ondemand.com/health (提示:您可以根据用例和需求使用任何其他 API)
timeout
30
几秒钟后,执行应成功完成:
执行的输出应与以下内容类似:
使用 SAP Automation Pilot 和生成式 AI 设计您的运维自动化流
然而,构建自定义自动化流对新用户来说可能具有挑战性。Generative AI Command Generation 通过使用简单的提示直接在 SAP Automation Pilot 中创建完整的自动化流来解决这一问题。在本课中,您将学习如何启用该功能、编写提示、生成命令并执行它们以立即产生影响。
立即开始探索它的全部潜力!
SAP Automation Pilot 中的 GenAI 能做什么
SAP Automation Pilot 引入了 GenAI 功能,以改善客户的入门体验并提升 Dev(Ops) 团队的效率。该解决方案本身是通过简单的提示让用户使用 GenAI,使其能够:
为客户的 SAP 环境生成可立即实施的、完全可用的 DevOps 自动化流
通过充分利用模型的编码知识(bash、python 等)来提升命令的多样性和质量
进一步扩展运维用例,因为不同公共 API(例如 SAP BTP、GitHub、Jira、Dynatrace 等)的知识也被充分利用。
下面快速概述 SAP Automation Pilot 用户如何生成完全可用的运维命令的流程:
小结
完成本课后,您已学会如何:
通过从 SAP Automation Pilot 的公共示例中导入并调整现成的 Script: HTTP Request 命令,生成第一个简单命令
理解 SAP Automation Pilot 的关键概念:Commands、Inputs (Keys)、Executors、Outputs (Keys)、Output Values 和 Provided Catalogs。
定义并校验命令输入,例如 URL、method、headers、body 和 timeoutSeconds。
使用 Script 执行器执行 HTTP 请求、处理响应,并设置 statusCode、responseHeaders 和 responseBody 等结构化输出。
将执行器输出值映射到命令输出键。
考虑使用 SAP Automation Pilot 中的 Command Generation Assistant 生成更多命令。