[英]AWS DataPipeline EvaluateExpression using Java SDK
使用AWS DataPipeline API ,我尝试以编程方式评估表达式 ,如下所示:
sometext-#{format(@scheduledStartTime, 'YYYYMMddHHmmss')
为了评估表达式,我使用了一个类似以下内容的PipelineObject
:
Id:@MyPipelineObject_2018-08-26T01:00:00
Name:@MyPipelineObject_2018-08-26T01:00:00
- Key:@scheduledStartTime
- StringValue:2018-08-26T01:00:00
- Key:@scheduledEndTime
- StringValue:2018-08-27T01:00:00
在知道pipelineId和pipelineObjectId的情况下,如何评估表达式? 我正在使用Java AWS开发工具包 ,并创建一个EvaluateExpressionRequest
如下所示:
String expressionToBeEvaluated = "sometext-#{format(@scheduledStartTime, 'YYYYMMddHHmmss')";
String myPipelineObjectId = "@MyPipelineObject_2018-08-26T01:00:00";
EvaluateExpressionRequest evaluateExpressionRequest = new EvaluateExpressionRequest()
.withPipelineId(myPipelineId)
.withExpression(expressionToBeEvaluated)
.withObjectId(myPipelineObjectId);
但是,从文档中我还不清楚如何实际使用EvaluateExpressionRequest
对象发出请求。 我看过EvaluateExpressionResult
但setEvaluatedExpression
方法仅将String
作为输入。
我是在做错什么,缺少基本知识,还是SDK只是不支持我正在尝试做的事情?
任何意见或建议将不胜感激。 谢谢!
因此,我在发布问题后几分钟就知道了。 事实证明答案很简单,而我一直在研究这些东西太久了。 DataPipeline
对象具有方法EvaluateExpressionRequest
evaluateExpression()
,该方法接受EvaluateExpressionRequest
并返回EvaluateExpressionResult
。 您可以通过对返回的对象调用getEvaluatedExpression
获得评估结果。
EvaluateExpressionRequest evaluateExpressionRequest = new EvaluateExpressionRequest()
.withPipelineId(myPipelineId)
.withExpression(expressionToBeEvaluated)
.withObjectId(myPipelineObjectId);
dataPipeline.evaluateExpression(evaluateExpressionRequest).getEvaluatedExpression(); //evaluates to sometext-20180826010000
希望对任何有类似痛苦的人有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.