Azure Logic Appsオンプレミスゲートウェイを使ってオンプレデータにアクセスする

Logic Appsは各種クラウドサービスへのアクセスをワークフローで組むことができるサービスですが、オンプレのデータへもアクセスすることができますので手順を残しておきます。
オンプレデータにアクセスできるコネクタは数が限られています。
[オンプレミスデータゲートウェイでサポートされるデータソース](https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-gateway-connection#supported-data-sources)

# 構成
* オンプレ想定でLogic Appsとは別のAzureサブスクリプションにファイルサーバーとオンプレミスゲートウェイサーバーを作りました。
* 両サーバー共にパブリックIPは付与していません。
* アウトバウンドのアクセス制御はしていません。NSGはデフォルト設定です。
* この環境でLogic Appsからファイルサーバーのファイルにアクセスするということをやります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/f2ee1abf-a171-f0b6-b2b2-6deaafbe211a.png)

# オンプレミスデータゲートウェイインストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/ad4b16cc-957b-1dc2-f2bb-b36069c94afd.png)

* [オンプレミスゲートウェイ](https://www.microsoft.com/en-us/download/details.aspx?id=53127)をダウンロードし、ゲートウェイサーバーに配置します。
* ダウンロードしたexeを実行します。
* 実行後以下のようなメッセージが出たら、出力されているURLにアクセスし、.NET Frameworkをインストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/e0942041-5b42-5d10-0da4-cf609e99ca75.png)

* .NET Frameworkがインストールされていると、以下画面になるので[Install]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/db5eb378-599b-7d10-752b-bf055e46e566.png)

* Logic Appsを作成するAzureサブスクリプションが割り当たっているMicrosoftアカウントを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/48f8c770-146b-9a9e-c094-14cca1a21e5f.png)

* Microsoftアカウントサインイン画面になるので入力して進めます。
* 新規作成なので[Register a new gateway on this computer]を選択して次へを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/71566267-864c-dc41-7bc5-5f807cef6be7.png)

* 任意のデータゲートウェイ名と回復キーを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/eefa06f7-44e5-47fb-2960-aae8da1fefcf.png)

* これでインストール完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/d78e3382-5abc-1efd-52a3-1b27942618cd.png)

# Azure オンプレミスデータゲートウェイ作成
* 先ほど入力したMicrosoftアカウントでAzurePortalにログインし、[オンプレミスデータゲートウェイ]を検索します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/383ef90b-b1c3-888d-5cf4-3ee67e113b3a.png)

* データゲートウェイ作成画面で各種入力します。このとき[インストール名]は選択できるようになっており、前の手順で設定した[データゲートウェイ名]が表示されていればOKです。同じMicrosoftアカウントでログインしていれば表示されるはずです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/ac196583-7138-8629-3d3a-a9c50ffc6ee2.png)

* ここまで入力したらAzureオンプレミスデータゲートウェイを作成します。作成は一瞬で終わります。

# ファイル共有準備
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/863ecce0-05f7-3107-8f88-afff87723db1.png)

* ファイルサーバー上でshareフォルダを作成し、プロパティからフォルダ共有します。

* 共有フォルダに[test.txt]を準備しておきます。これがLogic Appsから読み取れることを想定しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/80d8a20b-06d5-3a1a-c52c-541d39d0a2b4.png)

# Logic Appsからオンプレミスデータにアクセスする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/1a219a90-2df4-8031-5411-0de69c6d2c63.png)

* Logic Appsを作成します。作成は先ほどのMicrosoftアカウントでなくてもよいです。
* Logic Appsデザイナーから[ファイルシステム]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/ad701f55-4342-bb4a-ea44-668fbe2ea83a.png)

* [パスによるファイルコンテンツの取得]アクションを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/043e50a2-fb24-2f88-5b8f-cad71819f46c.png)

* 任意の接続名を入力し、ルートフォルダーは共有ファイルのパスを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/b9bcd6ea-5bf5-163e-f107-55aae9b3b2ec.png)

* ユーザー名パスワードを入力しますが、ユーザー名には[接続先FileServer¥ユーザー名]の形式で記載します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/83ae0533-3cb2-703d-d133-427705c16564.png)

* 接続ゲートウェイには前の手順で作成したAzureオンプレミスデータゲートウェイ名を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/704cb19b-a1ac-d207-72dd-119742bd0a8a.png)

* [パスによるファイルコンテンツの取得]アクションで、ファイルシステムを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/47d1525f-baf1-2f8e-929e-8e62cadf42ff.png)

* 事前に準備したファイルが見えてくるので選択します。ここでエラーになった場合は、接続情報に誤りがある可能性があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/cd25cc21-eb7f-7232-951f-8eb9484060d8.png)

* この状態で[保存]し、[トリガーの実行]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/ca636c9e-8ad1-7fbd-bd07-7395a5daaa2c.png)

* 正常終了され、ファイルの中身が取れていればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/3d96f0fd-74d9-1fdf-e416-458ff026e2de.png)

以上