カテゴリー内の他の記事

kintoneとMicrosoft Azureを連携してみよう (Azure Functionsその3)

フォローする

 

(著者:菊地 宏司)

Index

 

このTipsは以下の記事の続きとなります。はじめてAzure Functionsをご利用される方は(Azure Functionsその1)から始めることを推奨しています。

kintoneとMicrosoft Azureを連携してみよう (Azure Functionsその1)
kintoneとMicrosoft Azureを連携してみよう (Azure Functionsその2)

 

こんにちは。菊地です。

3回目となりましたkintone × Azure連携Tipsですが、今回はAzure Functionsを使って kintone から Azure Storage に登録をしていきます。Azure Funcitons はAzureサービスと柔軟に連携することができ、トリガー、バインドを用いることで少ないソースコードで連携が実現できます。また、今回連携する Azure Storage はBLOB (オブジェクト) データ、NoSQL テーブル データ、キュー メッセージ、ファイル共有のデータを取り扱えるストレージとなっています。今後 Azure アプリを扱う際に役に立つ機能なのでぜひ覚えていきましょう。

それではさっそくやってみましょう!

イメージ

kintone のレコード追加イベント時に、Azure Functions を呼び出し、Azure Table Storage へレコードデータを登録します。

 

 

     

 

Azure Storageの準備

Azure Storage を取り扱うためにはMicrosoft Azure Storage Explorerというクライアントツールが必要になります。 ツールはこちらからダウンロードしてインストールしてください。

Azure Storage Explorerの利用方法はこちらから

 

Azure Functionsの準備

Azure Functions 関数の準備を参考に設定します。

※「Azure Functions 関数の準備」では[webhook + API]、[JavaScript]を選択してください。

 

バインドの設定

Functionsを作成したら出力の設定をしていきます。まず新しい出力を選択します。

 

次に Azure Table Storage を選択します。

 

テーブル名はストレージ側に合わせる必要があります。

<Azure Functions側>

 

 

<Azure Storage側>

 

Azure Table Strage の設定が完了したら、デフォルト設定の HTTP出力の設定を削除します。

 

出力にAzure Table Storage の設定だけが残っている状態で完了です。

 

kintone アプリテンプレート

AzureFunctions連携(商品マスタ).zip

アプリテンプレートの読み込みについてはこちら

テンプレートからのアプリ作成についてはこちら

 

ソースコードの記述

Azure Functions内でのコードの記載箇所はこちらを参照ください。

Azure Functionsのindex.js

PartitionKey、RowKey、id、name、priceはデータ出力先となるテーブルのフィールド名となります。
配列型となっているため、1回に複数のレコードを登録することも可能です。

注意点
出力先のテーブル列名は半角英数で指定してください。
PartitionKey と RowKeyキーは必須です。

Azure Functionsのfunction.json

ここではAzureFunctionsの in/out 設定を行います。バインドの設定が正しくできていれば特に編集する必要はありません。
上記の設定ではinputにhttpTriggerを設定し、outputにAzureStorageのTableを設定します。

以下項目はユーザの Azure Storage の環境に合わせて設定する必要があります。

"name": "outputTable",
"tableName": "outTable",
"connection": "AzureWebJobsStorage",

kintoneのカスタマイズJS

kintone側では、レコード追加イベントでレコード情報を Azure Functions へPOSTします。
この時Promiseで制御を行うことにより、Azure Functions への非同期通信の結果が返ってきたあとで、return event しています。

関数のURLを 自分のAzure Functions環境のURLに設定します。

var url = 'https://test-azure-functions.azurewebsites.net/api/HttpTriggerJS1?code=***';

 

 

実際にkintoneからレコードを追加して、以下のようにAzure Storageに データが登録されていれば成功です。

 

さいごに

今回の連携Tipsいかがでしたでしょうか。 Azure Functionsネタも3回目となり、色々な利用イメージを持って頂けているかなと思います。次回もAzure Functions をメインに投稿を考えていますのでお楽しみに!

 

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。
Powered by Zendesk