Microsoft Power Automateを使ってkintoneのデータをオンプレミスデータベースに書き込む

目次

はじめに

クラウドのkintoneとオンプレミスのデータベースを連携できたら便利ですよね。
kintoneに登録した情報を自動で社内のデータベースに連携できれば、たとえば社内の販売管理システム等、基幹システムとの連携にも利用できそうです。
ですが、クラウドとオンプレミス間の連携となると、難易度が高そうなイメージを持たれる方も多いのではないでしょうか?
これが実は、ノーコードで実現できるんです。

今回はMicrosoft Power Automate(以降、Power Automate)を使います。
オンプレミス データ ゲートウェイ経由でkintoneに登録したデータをオンプレミスのMicrosoft SQL Serverに連携する方法を紹介します。

オンプレミス データ ゲートウェイとは、クラウドサービスとオンプレミスデータ間のデータ転送を可能にするMicrosoft社が提供しているサービスです。
概要については、 オンプレミス データ ゲートウェイとは? (External link) を参照してください。

また本記事では、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の見積アプリに対応するデータベースを作成します。

作成方法は データベース スキーマの作成 (External link) 等を参考にしてください。

SQL Serverの準備

データべース名 テーブル名
発注依頼 Table_01

 

列名 データ型 NULLを許容 備考
見積番号 nchar(10) -
見積日 date -
商品名 nchar(10) -
単価 int -
数量 int -
合計金額 int -
id_num int - 主キー
row_version timestamp -

オンプレミス データ ゲートウェイの設定

オンプレミス データ ゲートウェイの準備

今回は、SQL Serverと同じサーバー上にオンプレミス データ ゲートウェイ(標準ゲートウェイ)をインストールします。
ゲートウェイのダウンロードおよびインストール方法については、 オンプレミス データ ゲートウェイをインストールする (External link) を参照してください。

注意点
  • インストール時、リージョンは「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でオンプレミス データ ゲートウェイを管理する (External link) を参照してください。

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以外のデータベースとも連携可能です。
ぜひ参考にしてみてください。