本篇博文将向您介绍如何设置多步操作的 HTTP API 步骤来实现SAP分析云与外部应用程序(不仅包括 SAP 的产品,还包括非 SAP 的应用程序)的集成,对于广大SAP分析云的使用者来说,本文将为您在不同APP的数据集成带来详细的指导。
API 步骤的新功能无需修改原始应用程序,集成到 SAP 分析云的多步操作中。API 步骤创建客户出口。您可以将自己的附加功能挂在这些挂钩上。
在我们开始在多步操作中构建 API 步骤之前,您需要创建一个专门用于 API 集成的连接。创建连接:
- 点击连接>添加连接。
- 在连接到公共 API下,选择HTTP API 连接。
然后您需要设置连接的必填信息。多步操作中的API 步骤是为了集成后端服务,因此HTTP API连接支持基本认证和OAuth2.0的客户端凭证。因此,客户应提供至少支持上述身份验证的公共 API。
简单来说,一个响应为JSON MINE类型的GET方法URL ,需要基本认证/OAuth2.0的客户端凭证,必须返回HTTP code 200才可以用在这里保存连接。对于本地连接,由于 SCC 限制,需要明确指定端口。
该连接也支持本地环境。如果 HTTP API 留在 SAP 分析云无法访问的网络中,则有必须要在客户的网络中设置 SAP Cloud Connector,因为它扮演着在 SAP 分析云和用户的本地服务之间创建桥梁的角色。如何设置和配置SAP Cloud Connector,请参考博客SAP Cloud Connector的安装和配置。
创建 API 步骤
如果完成上述先决条件,您可以转到多步操作并从工具栏或弹出菜单创建 API 步骤。现在您将在列表中看到您创建的连接。选择您要使用的连接。
其次,指定 HTTP API 的 API URL 以与 SAP 分析云集成。API 步骤仅支持 POST 方法和仅在默认请求头中预定义的 JSON MIME 类型。
如果需要,您可以添加额外的请求头字段。 附加请求头 字段仅允许 ‘Prefer’:’respond-async’ 和键以 ‘X-‘ 开头的自定义标头,’x-forwarded-host’ 除外。
要为标题字段设置多个值,您可以使用逗号分隔值或使用相同的键输入多个标题字段。
现在您需要指定 POST 请求的主体。如果默认编辑器太小而无法编辑,您还可以单击编辑 JSON按钮打开编辑对话框。
根据 API 的不同,您可以选择通过 HTTP 代码或 HTTP 代码和响应正文的组合来确定触发状态。按照通用设计标准:
如果成功触发异步活动,则 HTTP 代码返回 202,这表示远程 API 开始处理远程系统中的后端任务。如果返回 40x/50x,则 HTTP API 无法处理远程系统中的后端任务,从而导致 API 步骤在多步操作中失败。
如果HTTP API的状态是由HTTP代码和响应正文共同决定的,则在响应正文中需要有2个必填属性(status、jobId)和1个可选属性(message)。
对于 表示异步活动状态的状态 ,其可接受的值可以是“DONE”、“FAILED”或“IN_PROCESS”。另一个名为 jobId 的属性代表异步活动,它的值可用于远程查询正在运行的任务的状态。Message字段用于 HTTP API 触发器的详细警告/错误消息。
如上所述,为了获取异步活动实时状态,系统假设应该有相应的查询API可用于查询。您应该在Get API Execution Result部分设置 URL 。但是,如果这些 API完全遵循 OData 标准,则用户不必在此处设置 URL,因为触发响应标头中的LOCATION对于查询状态应该是有效的。
API 步骤例子
我们的目标是集成尽可能多的协议,包括 OData 和普通 REST API。因此,如果触发响应遵循 OData 标准,它期望 202 用于 HTTP 代码和标头中的相应位置。请参考以下示例:
如果轮询响应遵循 OData 标准,如果任务仍在处理中,则 HTTP 代码预计为 202,如果任务已完成,则预计为 200。
如果 API 是非 OData 接口,它接受 200/202 作为 HTTP 代码,在响应正文中创建指示任务状态的信息。
如果任务仍在进行中,则非 OData 的相应轮询响应接受 202 或 200;注意:有正文中的详细信息才能判断工作是否完成。
最后,API 步骤还提供了仅通过代码判断API状态的选项。如果选择此选项,正文将被忽略。欢迎在评论部分分享您的反馈或想法,并参考以下 SAP 社区资源了解更多信息。
- 请参阅SAP分析云
- 询问有关SAP分析云的问题并关注我
- 阅读SAP分析云并关注博文
- 请关注我的个人资料了解更多资讯
结论:
使用此博文的说明,您将能够设置 HTTP API 连接并将外部 API 与 多步操作中的 API 步骤集成。希望这篇博文可以帮助您的团队更快地完成相同的实施。如果您觉得这篇博文有帮助,请点赞关注我。