Microsoft Power Automateを使ってkintoneのデータをオンプレミスデータベースに書き込む
はじめに
クラウドのkintoneとオンプレミスのデータベースを連携できたら便利ですよね。
kintoneに登録した情報を自動で社内のデータベースに連携できれば、たとえば社内の販売管理システム等、基幹システムとの連携にも利用できそうです。
ですが、クラウドとオンプレミス間の連携となると、難易度が高そうなイメージを持たれる方も多いのではないでしょうか?
これが実は、ノーコードで実現できるんです。
今回はMicrosoft Power Automate(以降、Power Automate)を使います。
オンプレミス データ ゲートウェイ経由でkintoneに登録したデータをオンプレミスのMicrosoft SQL Serverに連携する方法を紹介します。
オンプレミス データ ゲートウェイとは、クラウドサービスとオンプレミスデータ間のデータ転送を可能にするMicrosoft社が提供しているサービスです。
概要については、
オンプレミス データ ゲートウェイとは?
を参照してください。
また本記事では、Microsoft SQL Server 2019(以降、SQL Server)を利用します。
注意点
kintoneコネクタの注意点は、 kintoneコネクタ(Microsoft Power Automate)を使う前に知っておきたいことを確認してください。
結果
kintoneアプリにレコードを登録すると、その内容がSQL Server上のデータベースにも登録されます。
kintoneの設定
アプリの準備
今回は、kintone上に簡単な見積アプリを作成して動作を確認してみます。
フィールドの設定
フィールド名 | フィールドタイプ | フィールドコード |
---|---|---|
見積番号 | 文字列(1行) | quote_no |
見積日 | 日付 | quote_date |
商品名 | 文字列(1行) | product_name |
単価 | 数値 | price |
数量 | 数値 | quantity |
合計金額 | 数値 | total |
作成したアプリIDは Power Automateの設定で利用します。
社内データベース (Microsoft SQL Server) の設定
SQL Server側に、kintoneの見積アプリに対応するデータベースを作成します。
作成方法は データベース スキーマの作成 等を参考にしてください。
SQL Serverの準備
データべース名 | テーブル名 |
---|---|
発注依頼 | Table_01 |
列名 | データ型 | NULLを許容 | 備考 |
---|---|---|---|
見積番号 | nchar(10) | - | |
見積日 | date | - | |
商品名 | nchar(10) | - | |
単価 | int | - | |
数量 | int | - | |
合計金額 | int | - | |
id_num | int | - | 主キー |
row_version | timestamp | - |
オンプレミス データ ゲートウェイの設定
オンプレミス データ ゲートウェイの準備
今回は、SQL Serverと同じサーバー上にオンプレミス データ ゲートウェイ(標準ゲートウェイ)をインストールします。
ゲートウェイのダウンロードおよびインストール方法については、
オンプレミス データ ゲートウェイをインストールする
を参照してください。
注意点
-
インストール時、リージョンは「Japan East」を選択します。
-
オンプレミス データ ゲートウェイとPower Automateを接続するためには、下記2種類のログイン情報を使用します。
-
オンプレミス データ ゲートウェイを実行する「ゲートウェイサービスアカウント」
-
オンプレミス データ ゲートウェイとPower Automateを接続する「Office 365アカウント」
それぞれの設定方法は次のとおりです。
ゲートウェイサービスアカウントの設定
オンプレミス データ ゲートウェイのインストール後、「サービスの設定」>「アカウントの変更」をクリックします。
「アカウントの変更」をクリックします。
Service accountに、ローカルアカウントの情報(コンピュータ名\ユーザー名)とパスワードを入力します。
Office 365アカウントの設定
Office 365のログイン情報を利用して、オンプレミス データ ゲートウェイとPower Automateと連携させます。
オンプレミス データ ゲートウェイのセットアップ完了後、以下の画面でOffice 365のログイン情報を入力します。
サインインすればセットアップ完了です。
-
Microsoft Power Automateの設定
続いてPower Automateを設定します。以下のようなフローを作成していきます。
オンプレミス データ ゲートウェイの表示
まず、
オンプレミス データ ゲートウェイの設定でセットアップしたゲートウェイが、Power Automate側に表示されるか確認しましょう。
表示方法については、
Power Automateでオンプレミス データ ゲートウェイを管理する
を参照してください。
kintoneコネクタの設定
ゲートウェイの表示が確認できたら、続いてkintoneコネクタを設定していきます。
今回は
Office365連携! - Microsoft Power Automateを使ってkintoneのデータをOutlookの予定表に登録する -と同様の手順で設定します。
SQL Serverコネクタの設定
アクションの選択では、「SQL Server」の「行を挿入する(V2)」を選択します。
続いて、接続するSQL Severを設定していきます。
右側の「...」をクリックし、「新しい接続の追加」を選択します。
ゲートウェイにチェックを入れて、接続するSQL Serverの情報を入力します。
入力すると、次の画面でサーバー名、データベース名、テーブル名が選択できます。
選択するとカラムの内容が表示されるので、そこに対応するkintoneのフィールドを設定していきます。
これで設定は完了です!
動作確認
設定できたら、フローを保存して、kintoneアプリにレコードを追加してみましょう。
SQL Serverにkintoneで追加したデータが登録されたら成功です。
登録されない場合は以下の3ヵ所でエラーが発生していないか確認してください。
- Power Automateの実行履歴
- kintoneアプリのWebhookログ(アプリの設定 > Webhook > Webhookログ)
- cybozu.com共通管理の監査ログ
cybozu.com共通管理で「error type: SERVER_ERROR, status code: 404」が出力される場合はkintoneアプリのWebhook設定とPower Automateのkintone接続が合っていない可能性があります。
kintoneアプリのWebhook設定を削除して、Power Automateのkintone接続を再設定してください。
終わりに
クラウド上のkintoneとオンプレミスのデータベースが連携できれば、さらにkintone活用の幅が広がりそうですね。
本記事では「kintone → SQL Server」の連携について紹介しました。
その他にも、「SQL Server → kintone」の連携や、レコード更新/削除時の連携、またPower Automate側にコネクタがあればSQL Server以外のデータベースとも連携可能です。
ぜひ参考にしてみてください。