使用AWS DataPipeline API,我正在尝试以编程方式评估如下所示的表达式:sometext-#{format(@scheduledStartTime, 'YYYYMMddHHmmss')为了计算表达式,我使用了PipelineObject类似于以下内容的 a:Id:@MyPipelineObject_2018-08-26T01:00:00Name:@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 SDK,并创建一个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方法仅将 aString作为输入。我做错了什么,缺少一些基本的东西,还是 SDK 不支持我想要做的事情?任何意见或建议将不胜感激。谢谢!
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
所以我在发布我的问题几分钟后就想通了。事实证明,答案非常简单,而且我已经研究这些东西太久了。该DataPipeline对象具有evaluateExpression()接受 anEvaluateExpressionRequest并返回 的方法EvaluateExpressionResult。您可以通过调用getEvaluatedExpression返回的对象来获得评估结果。
EvaluateExpressionRequest evaluateExpressionRequest = new EvaluateExpressionRequest()
.withPipelineId(myPipelineId)
.withExpression(expressionToBeEvaluated)
.withObjectId(myPipelineObjectId);
dataPipeline.evaluateExpression(evaluateExpressionRequest).getEvaluatedExpression(); //evaluates to sometext-20180826010000
希望对有类似困扰的朋友有所帮助!
添加回答
举报
0/150
提交
取消