使用 Java SDK 的 AWS DataPipeline EvaluateExpression
AWS DataPipeline EvaluateExpression using Java SDK
像下面这样使用 AWS DataPipeline API, I'm trying to programmatically evaluate an Expression:
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 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
方法只需要 String
作为输入。
我是不是做错了什么,遗漏了一些基本的东西,或者 SDK 不支持我正在尝试做的事情?
任何意见或建议将不胜感激。谢谢!
所以我在发布问题后几分钟就弄明白了。事实证明答案很简单,我只是看这个东西太久了。 DataPipeline
对象具有方法 evaluateExpression()
,它采用 EvaluateExpressionRequest
和 returns EvaluateExpressionResult
。您可以通过对返回的对象调用 getEvaluatedExpression
来获得计算结果。
EvaluateExpressionRequest evaluateExpressionRequest = new EvaluateExpressionRequest()
.withPipelineId(myPipelineId)
.withExpression(expressionToBeEvaluated)
.withObjectId(myPipelineObjectId);
dataPipeline.evaluateExpression(evaluateExpressionRequest).getEvaluatedExpression(); //evaluates to sometext-20180826010000
希望对有类似痛苦的人有所帮助!
像下面这样使用 AWS DataPipeline API, I'm trying to programmatically evaluate an Expression:
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 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
方法只需要 String
作为输入。
我是不是做错了什么,遗漏了一些基本的东西,或者 SDK 不支持我正在尝试做的事情?
任何意见或建议将不胜感激。谢谢!
所以我在发布问题后几分钟就弄明白了。事实证明答案很简单,我只是看这个东西太久了。 DataPipeline
对象具有方法 evaluateExpression()
,它采用 EvaluateExpressionRequest
和 returns EvaluateExpressionResult
。您可以通过对返回的对象调用 getEvaluatedExpression
来获得计算结果。
EvaluateExpressionRequest evaluateExpressionRequest = new EvaluateExpressionRequest()
.withPipelineId(myPipelineId)
.withExpression(expressionToBeEvaluated)
.withObjectId(myPipelineObjectId);
dataPipeline.evaluateExpression(evaluateExpressionRequest).getEvaluatedExpression(); //evaluates to sometext-20180826010000
希望对有类似痛苦的人有所帮助!