チュートリアル: ファイルの読取りおよびファイル・サーバーへのファイルの書込み
ファイル・サーバー・アクションを使用してFTPサーバー上の1つ以上のファイルを読み取ってから、Oracle Integrationの「ファイル・サーバー」にファイルを書き込む方法を学習します。
対象読者
このチュートリアルは、組織が「ファイル・サーバー」をすでに使用しているか、使用を検討している場合に最も役立ちます。 これは、チュートリアルで「ファイル・サーバー」を有効にして設定する必要があるためです。
このチュートリアルは、ファイル・サーバー・アクションを使用して実践的な演習を行う場合にも役立ちます。 ファイル・サーバー・アクションを使用するステップ・バイ・ステップの手順が必要な場合は、「Oracle Integration 3での統合の使用」の「ファイル・サーバー内のファイルとの対話」を参照してください。
このチュートリアル
前提条件
-
FTPサーバーへの呼出しFTP接続を設定し、
Supplier_FTPという名前を付けます。 -
「ファイル・サーバー」を有効にし、すべての設定ステップを完了します。
「Oracle Integration 3でのファイル・サーバーの使用」の「ファイル・サーバーの管理」を参照してください。
-
ファイルを「ファイル・サーバー」に移動できるように、組織のFTPサーバーにファイルを配置します。 ファイル名とそのディレクトリを書き留めます。
ステップ1. スケジュール統合の作成とトリガーの定義
まず、スケジュール統合を作成します。 統合のトリガーには、2つのパラメータを渡します。
-
ナビゲーション・ペインで、「設計」、「統合」の順にクリックします。
-
「作成」を選択します。
-
「スケジュール」を選択し、次のフィールドに入力します。
フィールド 使用する値 名前 Poll_For_New_Files -
「作成」を選択します。
統合キャンバスが表示され、オプションのメニューが表示されます。
-
キャンバス上の任意の場所を選択してメニューを閉じます。
-
キャンバスで、「スケジュール」アクションをポイントし、...を選択し、「編集」を選択します。

-
インテグレーションのトリガーのパラメータを定義します:
これらのパラメータを使用すると、FTPサーバーから取得するファイルのパターンとパスを渡すことができます。
-
+を選択し、次のフィールドに入力します。
フィールド 使用する値 パラメータ名 file_patternデフォルト値 "*.csv" -
+を選択し、次のフィールドに入力します。
フィールド 使用する値 パラメータ名 directoryデフォルト値 "/" -
「保存」を選択します。
-
2つのパラメータを渡すスケジュール統合を作成しました。
ステップ2. FTPサーバーに接続し、ディレクトリ内のファイルをリスト
統合を作成したので、それにアクションを追加します。 起動アクションによってFTPサーバーがコールされ、特定のディレクトリ内のすべてのファイルがリストされます。 トリガーを定義したときに、そのディレクトリを統合のスケジュールに渡しました。
-
+が表示されるまで、「スケジュール」ボックスから出てくる行を指し、+を選択します。

-
検索フィールドで、「仕入先」と入力し、前提条件タスクとして作成したSupplier_FTP接続を選択します。
キャンバスに「起動」アクションが表示され、「基本情報の構成」パネルが表示されます。
-
次のフィールドに入力します。
フィールド 使用する値 エンドポイントにどのような名前を付けますか。 listFilesB2B取引パートナ・モード このチェックボックスは選択しないでください。 -
「Continue」を選択します。
-
「操作の選択」ドロップダウン・リストから、「ファイルのリスト」を選択します。
-
次のフィールドに入力します。
フィールド 使用する値 入力ディレクトリ /この値はプレースホルダーです。 後で、スケジュール済パラメータをそれにマップします。
ファイル名パターン *.csv最大ファイル数 デフォルト値のままにします。 最低年齢 デフォルト値のままにします。 再帰的にファイルをリスト このオプションの選択を解除します。 ファイル権限の無視 このオプションを選択解除したままにします。 -
「Continue」を選択します。
-
設定を確認し、「終了」を選択します。
リモートFTPサーバーへのコールの作成が終了しました。 この呼び出しは、特定のディレクトリ内のファイルを一覧表示します。
「起動」アクションの前に、マップ・アクションがキャンバスに表示されます。

ヒント:
キャンバス上でアクションを水平に表示するには、ツールバーで「水平」ステップ3. 統合のスケジュールから起動アクションにフォルダを渡します
起動アクションを定義しました。今度は、マップ・アクションを使用してディレクトリを動的に渡します。
-
キャンバスで、「マップ」アクションをポイントし、...を選択し、「編集」を選択します。
マッパーが表示されます。
-
左側の「ソース」リストで、構成した2つのパラメータを確認: directoryおよびfile_pattern。
-
右側の「ターゲット」リストで、「リスト・リクエスト」を展開し、「FTPリスト・ヘッダー」を展開します。
-
「ソース」リストで、directoryを選択し、「ターゲット」リストの「ディレクトリ」エントリにドラッグします。
-
「ソース」リストで、file_patternを選択し、「ターゲット」リストの「ファイル名パターン」エントリにドラッグします。

-
「検証」を選択し、<を選択してキャンバスに戻ります。
-
変更を保存します。
ここで、統合のトリガーを使用してディレクトリをinvokeアクションに動的に渡します。
ステップ4. ファイルをループし、一度に1つずつ処理
統合は、起動アクションが返すすべてのファイルをループ処理する必要があります。 統合では、アクションごとに1つずつファイルを処理します。
-
インテグレーションに各アクションを追加します:
-
「起動」ボックスの外にある矢印をポイントし、+を選択します。
-
ポップアップで、「アクション」タブを選択します。
-
スクロールして、「各」を選択します。
「対象」の各アクションがキャンバスに表示され、「それぞれの構成」パネルが表示されます。
-
パネルで、「編集」
を選択し、次のフィールドに入力します。
フィールド 使用する値 名前 ForEachFileFound -
を選択します。
-
「入力ソース」パネルで、$listFiles、ListFileResponse、ListResponse、FileList、「ファイル」の順に展開します。
「ファイル」は、各ファイルのプロパティをリストします。
-
「ファイル」エントリを「繰返し」要素フィールドにドラッグします。
ファイルは、各ループが繰り返す要素です。
-
「現在のエレメント名」で、
currentFileDetailsと入力します。これは、統合がループ内のファイル要素を参照するために使用する名前です。
-
キャンバス内の任意の場所を選択して、パネルを閉じます。
-
-
各ループが各ファイルをどのように処理するかを指定します。
最初のアクションはファイルをダウンロードします。
-
キャンバスで、「For each action」のボックスで、+を選択します。
-
検索フィールドで、「仕入先」と入力し、前提条件タスクとして作成したSupplier_FTP接続を選択します。
この接続により、FTPサーバーに接続できます。
-
次のフィールドに入力します。
フィールド 使用する値 エンドポイントにどのような名前を付けますか。 downloadFileB2B取引パートナ・モード このオプションを選択解除したままにします。 -
「Continue」を選択します。
-
次のフィールドに入力します。
フィールド 使用する値 操作の選択 「ファイルのダウンロード」を選択します。 転送モードの選択 「バイナリ」を選択したままにします。 入力ディレクトリ このフィールドは空白のままにします。 後で、マッパーを使用してこのフィールドを動的に移入します。 ファイル名 このフィールドは空白のままにします。 後で、マッパーを使用してこのフィールドを動的に移入します。 ダウンロード・ディレクトリ /stage/filesこれは、ダウンロードしたファイルを一時的に格納するOracle Integration内のロケーションです。
ページのチェックボックス すべてのチェックボックスを選択解除したままにします。
-
「Continue」を選択します。
-
設定を確認し、「終了」を選択します。
キャンバスに戻ります。 構成した「Invoke」アクションが「For」アクション内に表示され、その前に「Map」アクションが表示されます。 起動アクションは、ファイルをダウンロードし、一時的なロケーションに格納します。

-
-
関連するデータをInvokeアクションに渡します。
このアクションにより、統合によって検出された各ファイルのループ内で、そのファイルがローカル・ステージング領域にダウンロードされます。
-
各アクションで、「マップ」アクションをポイントし、...を選択し、「編集」を選択します。
マッパーが開きます。
-
左側の「ソース」リストで、CurrentFileDetailsを展開し、「ファイル」を展開します。
コンテナには、ディレクトリ内のファイルのリストを収集したときから返された現在のファイルに関する情報が保持されます。
-
右側の「ターゲット」リストで、「リクエストのダウンロード」を展開します。
このコンテナには、ファイルのダウンロード用に定義したアクションに関する情報が保持されます。
-
「ソース」リストで、「ディレクトリ」を選択し、「ターゲット」リストの「ディレクトリ」エントリにドラッグします。
-
「ソース」リストで、「ファイル名」を選択し、「ターゲット」リストの「ファイル名」エントリにドラッグします。

-
「検証」を選択し、<を選択してキャンバスに戻ります。
-
変更を保存します。
-
ステップ5. ファイルを「ファイル・サーバー」に書き込みます
forループは、ファイルを一度に1つずつ処理します。 ファイルの処理後、統合によってファイルが「ファイル・サーバー」に書き込まれます。
-
キャンバスの右側にある垂直ツールバーで、
を選択し、「ファイル・サーバー」エントリを見つけます。
-
「ファイル・サーバー」エントリを、「各」アクション内の「起動」アクションに表示される+にドラッグします。
このパネルでは、インテグレーションにアクションを追加する別の方法が提供されます。

「For each action」にファイル・サーバー・アクションが表示され、「FSネイティブ処理の構成」パネルが表示されます。
-
次のフィールドに入力します。
フィールド 使用する値 エンドポイントにどのような名前を付けますか。 writeFileToFileServerリソースの選択 ファイルを選択します。 操作の選択 「ファイルの書込み」を選択します。 出力ディレクトリの指定 /inbound/supplier/invoicesこれは、ファイルを「ファイル・サーバー」に書き込むディレクトリです。
ファイル名 file.txt後で、マッパーでこの値を上書きします。 ファイル名をリストするときに取得したファイル名を使用します。
-
「Continue」を選択します。
-
設定を確認し、「終了」を選択します。
キャンバスに戻ります。 構成したファイル・サーバー・アクションが「For each」アクション内に表示され、その前にマップ・アクションが表示されます。 ファイル・サーバー・アクションは、ファイルを「ファイル・サーバー」に書き込みます。

次に、書き込むファイルの名前とファイル自体をファイル・サーバー・アクションに渡す必要があります。
-
関連するデータをファイル・サーバーのアクションに渡します。
-
「ファイル・サーバー」アクションの前の「マップ」アクションを指し、...を選択し、「編集」を選択します。
マッパーが開きます。
-
左側の「ソース」リストで、「downloadFileレスポンス(FTP)」、「ファイルをICSレスポンスにダウンロード」、「レスポンスのダウンロード」、「ICSファイル」、「ICSファイル」の順に展開します。
要素は、FTPサーバーからファイルをダウンロードする操作の出力です。
-
右側の「ターゲット」リストで、「ファイル定義書込みリクエスト」を展開します。
その子要素は、ファイル操作で受け入れられるプロパティです。
-
「ソース」リストで、「ファイル参照」を選択し、「ターゲット」リストの「ファイル参照」エントリにドラッグします。
ステージング領域にダウンロードしたファイルの内容を統合のファイル・サーバー・アクションに渡します。
-
「ソース」リストの「ファイル参照」で、「プロパティ」を展開します。
-
「ソース」リストで、「ファイル名」を選択し、「ターゲット」リストの「出力ファイル名」エントリにドラッグします。
ファイルの名前をファイル・サーバー・アクションに渡します。

-
「検証」を選択し、<を選択してキャンバスに戻ります。
-
統合では、FTPサーバーからファイルのリストを取得し、ファイル・サーバー・アクションを使用してOracle Integrationの「ファイル・サーバー」にファイルを書き込みます。
ステップ6. 自分の行動を理解
統合でいくつかの重要なアクションを確認して、設計した統合を理解しましょう。
| アクション | 目的 |
|---|---|
| スケジュール処理 | オンデマンドまたはクロックで実行するスケジュール統合を作成しました。 |
| アクションの起動 | 統合の最初のアクションは、FTPサーバーをコールしてディレクトリ内のファイルをリストすることです。 ディレクトリは、起動アクションより前のマップ・アクションを使用して指定します。 |
| アクションごと | 統合は、取得したファイルのリストにあるファイルをループします。 リスト内のファイルごとに、インテグレーションによって複数のアクションが実行されます。
|
さらに学ぶ
ファイルの暗号化および復号化など、ファイル・サーバー・アクションのすべてのオプションを確認するには、「Oracle Integration 3での統合の使用」の「ファイル・サーバー内のファイルとの対話」を参照してください。