本系列博客旨在以一种简单、循序渐进的方式展示如何在SAP云平台中使用作业调度程序服务
快速链接:简介博客项目文件
概述
在第一篇博客中,我们将通过一个示例场景介绍基本步骤它注定要被任何人处决真的,不需要编码技巧
场景
我们正在创建一个小的节点.js启动express服务器的应用程序这个小应用只不过是公开了一个REST端点调用此端点时,它会写入日志并返回字符串唯一的原因是:它可以由作业调度器自动调用
因此,我们要创建的第二件小事是在作业调度器仪表板中创建一个小作业存在的唯一原因是:Job调用我们的小程序的REST端点节点.jsapp
该场景将在SAP云平台的试用账户上执行(在生产环境上只有很小的区别,请参考下一篇博客)
步骤
我们将介绍以下步骤:*创建服务实例*创建示例应用程序*使用Job Scheduler Dashboard定义作业并查看结果
虽然场景非常简单,但让我们看看涉及的组件:
说明:我们的应用程序与2个服务实例绑定我们的应用程序公开了一个REST端点,其URL由作业使用(在仪表板中创建时)我们假设我们的应用程序包含任何应用程序逻辑(尽管在本示例中并非如此)
注意:由于我们当前的场景是为试用帐户设计的,因此不需要/支持OAuth流
前提条件
我们正在创建一个节点.js应用程序so节点.js必须安装在您的机器上(安装信息见附录)
云铸造命令行客户端不是必需的,但它使生活更轻松(安装信息见附录)
准备
创建Job Scheduler服务实例
按照简介博客中的描述在服务市场中创建一个名为jobschedulerinstance的实例
创建XSUAA服务实例
,物联网的应用实例,找到tile"授权信任管理"创建实例:
服务计划:"broker"参数:留空实例名称:xsuaaforsimplejobs
创建应用程序
现在我们可以创建我们的应用程序了此应用程序将由作业计划程序触发在这个例子中,我们使用节点.js,这是暴露端点的最简单方法
我们只处理3个文件,所以让我们开始
创建项目文件和文件夹
这是我们要创建的项目结构:
要开始,让我们创建项目根文件夹:
C:\tmp
清单.yml
在根文件夹中,创建一个名为清单.yml并粘贴以下内容:(请务必将名称更改为任何唯一的名称)
说明:除了通常的描述符信息外,它还包含对前面创建的2个服务实例的引用。确保服务名称与实例名称匹配此外,如果在部署过程中出现错误,您可能需要调整应用程序的名称
注意:绑定顺序是相关的:首先绑定XSUAA->然后是JobScheduler再次提醒:记住:Binding:XSUAA first
如果您忘记了,不要担心:在部署期间,绑定JobScheduler实例时,如果JobScheduler没有找到XSUAA绑定,您将得到一个错误
尽管如此:不要忘记:bind XSUAA first
如果您倾向于忘记,您可以使用这个(愚蠢的)助记符:"bind xs USA first Again"(抱歉…
此时,我们有根文件夹和清单.yml文件现在在根文件夹中创建应用程序文件夹:
C:\tmp\app
在app文件夹中,创建一个名为包.json
包.json
将以下内容粘贴到包.json文件
说明:的描述符文件节点.js运行时声明依赖项并且它还说明了在应用程序启动时应该执行哪个javascript文件
服务器.js
在同一个应用文件夹中,在包.json,创建一个名为服务器.js这是可执行程序
说明:当执行这个小程序时,它会启动一个小服务器(使用express模块)它还定义了一个端点"runjob"。当HTTP GET请求调用此端点时,将执行上述代码
这就是我们在本博客中要演示的全部内容:作业调度器
部署
要生成应用程序,请打开命令提示符,大数据课程,导航到应用程序文件夹C:\tmp\app然后执行npm install
部署应用程序,构建成功后,导航到根文件夹C:\tmp并执行cf push(如果您不喜欢命令行,请参阅附录)
在部署过程中,您可以观察首先绑定XSUAA服务Jobscheduler服务绑定后
部署后,企业交流软件,我们可以测试我们的端点:从命令提示符获取应用程序URL(或从驾驶舱中的应用程序详细信息)并附加端点段然后在浏览器中调用
在我的示例中:https://jobapp.cfapps.eu10.hana.ondemand.com/runjob因此,浏览器窗口应该按照我们的小应用程序
中的编码打印文本。我们已经完成了第一部分下一部分是使用作业调度器
作业调度器
我们的小应用程序旨在模拟一个高效的应用程序
成功部署后,我们现在可以学习如何使用作业调度器
打开仪表板
要打开仪表板,请转到您的子帐户->空间->"服务实例"找到上面创建的实例(名称jobschedulerinstance),国家大数据,按图标"Open Dashboard"
注意:要打开仪表板,您可能需要输入云用户凭据