我正在尝试从 Java 数据管道客户端访问数据管道的当前状态。我的用例是激活管道并等待它处于完成状态。我尝试了该线程的答案:AWS Data Pipeline - Components, Instances and Attempts 和 Pipeline Status,但即使管道处于运行状态,我也只能将当前状态设置为 Scheduled。这是我的代码片段:
DescribePipelinesRequest describePipelinesRequest = new DescribePipelinesRequest();
describePipelinesRequest.setPipelineIds(Arrays.asList(pipelineId));
final DescribePipelinesResult describePipelinesResult =
dataPipelineClient.describePipelines(describePipelinesRequest);
final List<Field> testPipeline =
describePipelinesResult.getPipelineDescriptionList().get(0).getFields();
for (Field field : testPipeline) {
log.debug("Field: {} and {}", field.getKey(), field.getStringValue());
if (field.getKey().equals("@pipelineState")) {
log.debug("Pipeline state current: {} and {}", field.getStringValue());
}
}
以前有人遇到过这样的问题吗?顺便说一句,这条管道已经成为一个触发管道,计划每 100 年运行一次。我们需要手动触发这个管道。