使用 Java SDK 的 AWS DataPipeline EvaluateExpression

使用AWS DataPipeline API,我正在尝试以编程方式评估如下所示的表达式:


sometext-#{format(@scheduledStartTime, 'YYYYMMddHHmmss')

为了计算表达式,我使用了PipelineObject类似于以下内容的 a:


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 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 不支持我想要做的事情?


任何意见或建议将不胜感激。谢谢!


喵喔喔
浏览 188回答 1
1回答

ITMISS

所以我在发布我的问题几分钟后就想通了。事实证明,答案非常简单,而且我已经研究这些东西太久了。该DataPipeline对象具有evaluateExpression()接受 anEvaluateExpressionRequest并返回 的方法EvaluateExpressionResult。您可以通过调用getEvaluatedExpression返回的对象来获得评估结果。EvaluateExpressionRequest evaluateExpressionRequest = new EvaluateExpressionRequest()                .withPipelineId(myPipelineId)                .withExpression(expressionToBeEvaluated)                .withObjectId(myPipelineObjectId);dataPipeline.evaluateExpression(evaluateExpressionRequest).getEvaluatedExpression(); //evaluates to sometext-20180826010000希望对有类似困扰的朋友有所帮助!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java