如何在 Application Lab 界面中将变量用于 Bluemix 上的 Workload Scheduler

How to use variables in the Application Lab interface to Workload Scheduler on Bluemix

我正在尝试在 Bluemix 的 Workload Scheduler 服务上使用 Application Lab 应用程序,但找不到有关如何使用的任何文档用它。具体来说,我需要每天 运行 一次 RESTful URL,并在 URL 中嵌入前一个 运行 的时间戳。 在 Application Lab 中创建变量似乎非常简单,但我不知道如何设置或使用它们。有人能指出我正确的方向吗?

尚无法通过 API 更新应用实验室的变量(很快就会)。

我可以与您分享另一种方法。 请按照以下步骤操作:

启用云代理到 运行 脚本

你应该为此开票。默认情况下,云代理未启用 运行 脚本,但您可以打开工单来更改此设置。

获取用户凭据

打开服务而不是用户凭据。如果它们不存在,请单击 "Add credentials"。

打开工作负载编辑器

工作负载编辑器 UI 相对于 Application Lab 更强大,支持复杂的场景。

要打开 Workload Designer,请打开 Application Lab,右键单击进程并 select "Launch Workload Designer"。

定义 restful 作业

创建一个新的 restful 工作:

然后设置名称和工作站并检查标志 "Variable resolution at runtime"。

然后单击 "Action" 窗格并设置服务的 URI。在 URI 中添加 ${TIMESTAMP} 变量。出于测试目的,我使用了这个 URI:

http://echo.jsontest.com/title/ipsum/content/${TIMESTAMP}

保存此定义(使用软盘图标)。

定义更新变量的作业

创建一个 executable 作业:

设置名称、工作站和"Variable resolution at runtime"标志

然后打开 "Task pane" 并在脚本字段中添加以下内容:

#/bin/sh -x
#Set the following 3 variables from your credentials
export USERNAME="xxxxxx@bluemix.net"
export PASSWORD='xxxxxx' 
export HOSTNAME=xxxxx.wa.ibmserviceengage.com

#Replace "CC" with the letters of your tenant
export VT=CCTIMESTAMP

#MAIN STARTS HERE
export TIMESTAMP=`date +%s`

. /home/wauser/TWA/TWS/tws_env.sh

echo "VARTABLE $VT MEMBERS TIMESTAMP \"$TIMESTAMP\" END" > /home/wauser/vt.txt

composer -host $HOSTNAME  -protocol https -username "$USERNAME" -password $PASSWORD replace  /home/wauser/vt.txt

保存作业。

点击 "Select Action" -> "Submit Job into current plan" 提交作业。

定义作业流

点击"New" -> "Job Stream"

定义名称、工作站和变量table(将 CC 替换为您的两个字母租户 ID)。 右键单击并 select 添加工作:

添加 "TEST" 和 "UPDATETIMESTAMP" 职位(或您使用的名称)。

右键单击 "UPDATETIMESTAMP" 和 select "Add dependencies" -> "Job in the same job stream" 然后 select "TEST".

右键单击 "Run Cycles" 和 select "Add Run Cycle"

打开 "Rule" 窗格和 select "Daily"

打开"Time Restrictions"并设置作业流必须开始的时间并检查标志"use as time dependency"。

保存作业流,大功告成!