3 回にわたり続けてきた、LogicApps の Enterprise Integration Pack 利用法についてですが、いよいよ LogicApps からスキーマとマップを利用した変換を行います。
LogicApps で Enterprise Integration を行うには、統合アカウントが必要です。統合アカウントは二つのプランが用意されています。
無料プラント標準プランですが、標準プランは月額 10 万円超、と非常に危険なものとなっていますので、作成する際は注意してください。無料プランでも一定数のスキーマやマップは利用できますので、Enterprise Integration がどのようなものかというのは十分確認可能です。
統合アカウントを作成したら、これまでに作成したスキーマとマップをアップロードします。
スキーマもマップも、アップロードするファイルを指定した後に、画面下部にある OK ボタンをクリックしないとアップロードが完了しないので注意してください。
スキーマには作成した xsd ファイルを、マップにはビルドして生成された xslt ファイルをそれぞれにアップロードします。
そして統合アカウントを利用する LogicApps と、統合アカウント自身を関連付けます。
この際、統合アカウントと LogicApps のリージョンが同一でなくては関連づけられませんので注意してください。
関連付けが終了すると、このように LogicApps の統合アカウント欄に選択したアカウントが表示されます。これで LogicApps から Enterprise Integration を行う準備は完了です。
動作を確認するために、上記のような LogicFlow を作成しました。変換元となる csv ファイルは BLOB に前もってアップロードを行っておきます。言葉の使い方で少々戸惑うところがあるかもしれませんが、デコードは「元データをスキーマに沿って XML に変換する」という意味で、エンコードは「何かしらのデータをスキーマに則り出力する」という処理になります。スキーマ上では、カンマ区切りの CSV や、各項目についての定義が記載されているので、その定義に基づき CSV ファイルとして出力されていることになります。
マップについては、スキーマで定義された XML データ間での変換処理を実行しています。重要なのは XML でなくてはならない、というところで、そのためにデコードをあらかじめ行っておく必要があります。
LogicFlow を実行すると、上記のような結果が BLOB に格納されています。下が変換前の CSV でブラウザ内に表示されているのが変換後の CSV です。マップでは明細行の変換を行い、見出しについてはそのままでしたので、変換結果では見出しと出力されている内容が食い違っているのがわかると思います。
このように Enterprise Integration を利用すると、複雑な変換処理であっても LogicApps で十分に実行できます。しかもノンコーディングで実施可能ですので、
0 件のコメント:
コメントを投稿