0

正式なトレーニングを受けていない CloverETL を初めて使用することから始めます。

Apple の iTunes Connect Reporter Java ツールを呼び出してレポートのステータスを取得し、ダウンロードの準備ができているかどうかを知らせるコマンドで ExecuteScript コンポーネントを実行するジョブがあります。Java ツールのメッセージは XML であり、UniversalDataWriter を使用してそれを XML ファイルに書き込んでいます。ジョブの最後のコンポーネントは、別のジョブフローを開始します。

次のジョブフローは、ファイルから XML をマップし、XML のメッセージ部分を Condition コンポーネントに送信してファイルの準備ができているかどうかを調べ、準備ができている場合はファイルをダウンロードするように条件を分割する XMLExtract コンポーネントから始まります。 、またはスリープ状態にして 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 のメッセージ部分だけです。

4

1 に答える 1

0

ユース ケースの簡単な解決策は、XML 応答を文字列のままにして、SimpleCopy コンポーネントを使用して 2 つの XMLExtract コンポーネントにコピーを渡すことです (XML のデータを出力します)。両方の XMLExtract の File URL プロパティをポートから読み取るように設定する必要があります。XMLExtract の Mapping プロパティでは、ソース XML ファイルで「ツリー構造を生成する」ように求められます。 一方には準備完了ステータスの XML を使用し、もう一方には使用不可ステータス XML を使用して、両方のケースの構造を作成します。最後に、どちらの場合も Message を出力ポートにマップします。

于 2016-09-20T14:28:47.710 に答える