簡體   English   中英

使用Java SDK的AWS DataPipeline EvaluateExpression

[英]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對象發出請求。 我看過EvaluateExpressionResultsetEvaluatedExpression方法僅將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM