34
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

インフォマティカAdvent Calendar 2022

Day 19

Cloud Integration Hub でファイルストアパブリケーションリポジトリを使ってみる

Last updated at Posted at 2022-12-18

2023 年 4 月のアップデートによる変更点 (2023/03/31 更新)

2023 年 4 月のアップデートにより、ファイルストアパブリケーションリポジトリ使用時のファイル取り込みタスクの作成方法が変更されます。具体的には、パブリケーションのターゲットおよびサブスクリプションのソースで、下記で案内しているように「ローカルフォルダ」を指定するのではなく、「Cloud Integration Hub」を選択するようになります。
既存のファイル取り込みタスクとそれを使用したパブリケーション/サブスクリプションは変更せずにそのまま使用できますが、タスクの編集を行う場合には、そのタイミングで接続を「Cloud Integration Hub」に変更する必要があります。


この記事は インフォマティカ Advent Calendar 2022 Day 19 の記事として書かれています。

はじめに

2022 年 10 月のアップデートにより、Cloud Hub Integration (以下 CIH) にファイルストアパブリケーションリポジトリの機能が追加されました。
これにより、オンプレミスの Data Integration Hub で広くご使用いただいているファイルパススルーのように、CIH でもパブリケーションとサブスクリプションでファイルをそのまま扱うことができるようになりました。

この記事では実際にファイルストアパブリケーションリポジトリを使用したパブリケーションとサブスクリプションを作成してみます。

ファイルストアパブリケーションリポジトリの有効化

まず最初にファイルストアパブリケーションを有効化します。
Informatica Intelligent Cloud Services へログインし、マイサービス画面から「統合ハブ」を選択し、ホーム画面右上の「セットアップ」をクリックします。

セットアップ画面下部に「ファイルストアパブリケーションリポジトリ」という欄が追加されています。
「ファイルストアの有効化」にチェックを行い、「ファイルストアリポジトリの場所」として、ファイルを格納するフォルダへのパスを指定します。Secure Agent がアクセス可能な場所を指定する必要があります。

image.png

タスクを作る

通常の CIH のパブリケーションやサブスクリプションでは、データの移送部分は Cloud Data Integration のマッピングタスクを使用しますが、ファイルストアパブリケーションリポジトリを使用する場合にはファイル取り込みタスクを使用します(つまり、セキュアエージェントグループで Mass Ingestion - Files のサービスを有効化する必要があります)。

image.png

注意点はマニュアルの「ファイル取り込みタスクのルールとガイドライン」に記載がありますが、まとめると下記です。

  • パブリケーション/サブスクリプション共通
    ① スケジュールは「このタスクはスケジュールを使用しない」に設定する
    ② 「ファイルの安定性を確認」を選択しない
  • パブリケーション
    ③ ターゲットの接続タイプは「ローカルフォルダ」を指定する
    ④ ターゲットディレクトリは、パラメータ \${$PMTargetFileDir} を指定する
  • サブスクリプション
    ⑤ ソースの接続タイプは「ローカルフォルダ」を指定し、ファイルリストによるファイルピックアップを行う
    ⑥ ソースディレクトリは、パラメータ \${$PMSourceFileDir} を指定する
    ⑦ ファイルリストにダミーの文字列を指定する

パブリケーション

マイサービスで「一括取り込み」を選択し、ファイル取り込みタスクを新規作成します。
image.png

取り込み元となるソースの設定を行います。
今回は Google Cloud Storage からファイルを取得します。バケットには、名前が「src」から始まるファイルと「tgt」から始まるファイルがそれぞれ 10 づつアップロードされています。
image.png

パブリッシュするファイルのパターンの指定により、「src」から始まる名前のファイルのみ移送するよう指定してみます。また、「ファイルの安定性を確認」はデフォルトの未チェックの状態のままにします。
image.png

続いてターゲットを指定します。Secure Agent がファイルストアパブリケーションリポジトリとして指定したフォルダへ書き込むための設定として、「接続タイプ」は「ローカルフォルダ」、「ターゲットディレクトリ」は「\${$PMTargetFileDir}]を指定します。
image.png

「スケジュールの詳細」では、デフォルトの「このタスクはスケジュールどおりに実行しない」のままにし、タスクを保存します。
image.png

サブスクリプション

サブスクリプション用のファイル一括タスクはソースの指定でいろいろとコツがあります。

image.png

接続タイプはパブリケーションのソースと同じく「ローカルフォルダ」を指定します。ファイルのピックアップ方法はファイルリストですが、「ファイルリスト」の入力フィールドではダミーの値を設定します。また、ソースディレクトリも、パブリケーションのターゲットディレクトリと同じようにパラメータ「\${$PMSourceFileDir}」を指定します。

ターゲットは Advanced SFTP V2 コネクタを使用して Linux マシンにファイルを置くことにします。

image.png

ランタイムオプションでスケジュール設定にしない点はパブリケーションと同様です。

CIH のアセットを作る

タスクを作成したので、続いて CIH のアセットを作成します。

まずはトピックです。「パブリケーションリポジトリタイプ」で「ファイルストア」を指定します。
image.png

続いてパブリケーションを作成します。
「パブリケーション方法」で「ファイル取り込みタスクでファイルをパブリッシュ」、「トピック」では上記で作成したファイルストア用のトピックを指定します。「ファイル取り込みタスクでファイルをパブリッシュ」を選択すると、「タスク」のリストには一括取り込みタスクが表示されるので、そこからタスクを選択します。
image.png

サブスクリプションも同じように「コンシューム方法」で「ファイル取り込みタスクでファイルをコンシューム」、「タスク」でサブスクリプション用に作成したタスクを指定します。

image.png

実行

それではパブリケーションを実行します。
image.png

一括取り込みのジョブ画面でも、タスクが実行されたことがわかります。
image.png

パブリケーションにより、ファイルストアパブリケーションリポジトリにどのようにファイルが配置されたかを見てみます。

image.png

下記のような階層になっていることがわかります。

① 「ファイルストアリポジトリの場所」で指定したパス
② 組織ID
③ トピック名
④ 実行日(YYYYMMDD)
⑤ イベントID

また、ファイルパターンで指定した通り「src」から始まる名前のファイルのみが移送されていることがわかります。

続いてサブスクリプションを実行します。
サブスクリプションでは、上記④の実行日以降のフォルダ構造が維持された状態でファイルが移送されます。

image.png

おわりに

タスク作成時にいくつかのポイントはありますが、それらをおさえれば簡単に CIH でファイルを扱う処理を作成できます。ファイルストアパブリケーションリポジトリを是非ご利用ください。

34
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?