我首先要说我是 CloverETL 的新手,没有接受过正规培训。
我的工作是运行 ExecuteScript 组件,其命令调用 Apple 的 iTunes Connect Reporter Java 工具来获取报告的状态,让我知道它是否已准备好下载。Java 工具的消息是 XML 格式的,我正在使用 UniversalDataWriter 将其写入 XML 文件。作业中的最后一个组件启动另一个作业流程。
下一个工作流从 XMLExtract 组件开始,该组件将映射文件中的 XML,并将 XML 的消息部分发送到 Condition 组件以查找文件是否准备好,如果准备好则拆分条件以下载文件,或者休眠并调用 Java 工具,如果它没有准备好,则在一段时间后再次获取状态。
就绪状态的 XML 如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Status>
<Message>Sales and Trends Reporter is currently available.</Message>
<Code>0</Code>
</Status>
不可用状态的 XML 如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Error>
<Code>1</Code>
<Message>Sales and Trends is currently unavailable. Please try again in 15 minutes.</Message>
<Retry>875000</Retry>
</Error>
输出是动态的,我不确定如何格式化元数据以处理任一输出。XML 的消息部分对我来说是唯一重要的部分。