实用云,提供最全最实时的云市场资讯

手机站:/m

数据库服务器_企业百度云盘_免费领

时间:2021-08-03 02:45编辑:实用云来源:实用云当前位置:主页 > 大数据 >

自从引入SAP HANA extended application services advanced model(XSA)以来,SAP支持许多访问平台API的新方法。XSA基于Cloud Foundry,它通过命令行客户端和支持REST的web API提供其核心功能。XSA具有相同的功能,但大多数对平台管理和交互的关注往往集中在CLI界面或SAP交付的基于浏览器的管理UI上。然而,在webui背后,基本上是对控制器api的调用。这些相同的API可以在您自己的应用程序中调用和使用。在本博客中,我想分享一些尝试使用这些API的经验。任何使用这些API的人都会面临一些常见的挑战,也许本博客在这方面会有所帮助。

文档

关于这些API的第一个问题可能是去哪里获取文档。您的第一个兴趣可能是去SAP HANA平台文档。在那里您可以找到所描述的XSA控制器的所有概念,并可以找到命令行界面参考:https://help.sap.com/viewer/4505d0bdaf4948449b7f7379d24d0f0d/2.0.03/en-US/addd59069e6f444ca6ccc064d131feec.html

但是,您不会发现关于XSA控制器REST API的详细信息。这正是回归到底层云铸造概念的必要之处。XSA控制器api基本上与它们的标准cloudfoundry对应的api相同。当然,如果编写的应用程序也将在使用标准Cloud Foundry的SAP Cloud平台上运行,这是非常有用的。因此,您可能需要的关于这些API的许多文档可以在Cloud Foundry网站上找到:

举个例子。您可能希望列出XSA中的所有用户。有一个云铸造API(/v2/users):

https://apidocs.cloudfoundry.org/1.27.0/users/list\u all\u users.html

如果我们来XSA写一个节点.js应用程序在XSA控制器上调用相同的API,我们会得到相同的结果:

顺便说一句,这将是您通过调用xs用户可以得到的相同结果或者cf users CLI命令。

控制器URL

如果您注意到在上面的示例中,轻淘客旗舰版,我正在构建一个指向控制器API和API REST路径的URL。但我们面临的下一个挑战是:如何获取这个URL。当然,我们可以硬编码URL,轻云,但这不是很优雅,因为我们必须更改部署到的每个系统的代码。我们可以设置一个用户提供的服务来配置URL。这将是一个很好的解决方案,但还有更简单的方法。

XS/CF部署器有一些内置变量,这些变量是自动填充的。可以在mta.yaml公司文件使用${}方法。如果你做过很多基于XSA或CF的开发,您可能已经使用了这些变量中最常见的${default url}。

这个常见的默认url示例是我们如何获取一个微服务的生成url并将其动态传递给另一个微服务。它是应用程序路由器/web模块如何包装内部服务的关键节点.js和Java服务:

但默认url并不是唯一的变量我们有空。现在事情变得有趣了。我们有变量controller url和authorization url,可以让我们访问controller和UAA api。因此,您可以通过controller url变量设置一个具有此属性的资源:

唯一的问题:从SAP Web IDE运行应用程序时,这不起作用来自webide的run命令使用一种特殊的方法(为了提供调试和增量运行支持)。然而,这意味着它不具备完整部署程序的所有功能。因此,这确实意味着在Web IDE中进行调试和开发时,您需要临时硬编码控制器url,消费返现,并且只使用此控制器url变量进行"真正"部署。

现在我们已经消除了混乱,我们可以看到我们添加了资源的控制器URL,并且我们已将该资源绑定到节点.js模块。因为绑定资源在绑定应用程序的环境中是详细的,所以可以很容易地从编码中访问节点.js从中读取环境过程.env变量。所以在节点.js应用程序,我只是把这个值塞进一个全局变量:

如果你对这个环境信息感兴趣,它包含了各种各样的好东西。例如,它可以用于在运行时检索XSA/CF组织

或用于XSA/CF空间的组织:

此VCAP_应用程序和VCAP_服务部分特别包含良好的信息。

/v2/info

在我们继续之前,大数据精准获客,让我们来讨论一个特殊的控制器api:/v2/info

这是唯一一个不需要身份验证的控制器api。因此,一旦您有权访问基本控制器URL,这通常是您要调用的第一个API。它返回大量有关系统的运行时信息,包括指向其他重要api和应用程序的url。这是一个很好的进入系统其他部分的入口https://apidocs.cloudfoundry.org/1.27.0/info/get\u info.html

身份验证

现在我们可以访问控制器API URL,并且我们已经调用了unauthenticated/v2/info API,我们面临的最后一个挑战是如何向其余API发出经过身份验证的请求。我们很可能希望使用主体传播,这意味着无论用户已经对我们的应用程序服务进行了身份验证,都是我们希望转发到控制器API的用户。这意味着我们应用程序的认证用户可能需要控制器管理员或开发人员权限才能调用这些API中的大多数。

上一篇全站加速_新东方托福网课百度云_稳定性好

下一篇云服务器_c服务器_学生机

世界之最排行

世界之最精选