kintoneとMicrosoft Azureを連携してみよう (Azure Functionsその1)
こんにちは。菊地です。
今回はkintoneとMicrosoft Azureの連携について紹介したいと思います。
Microsoft Azureとは
まず Microsoft Azure とは、分析、コンピューティング、データベース、モバイル、ネットワーク、ストレージ、Webの機能をもつ総合的なクラウドサービスプラットフォームです。
仮想マシン、モバイル、ビックデータ、機械学習、IoTとさまざまなことができるAzureですが、今回はその中のAzure Functionsを使ってkintoneと連携してみます。
このAzure Functionsは小規模なコードを実行できるサービスになっており、AWSのLambdaに似たような物となっています。
設定方法はブラウザー上から可能で、Azureサービスのイベント処理、cronジョブを使用したバッチ処理、HTTPトリガー(Webhook)等のイベントの際にNodeJSやC#のコードを実行できます。
また、これらの処理がサーバーレスで実現できるのも特徴です。
ハードやネットワークのことなんて考えなくてOK!お手軽ですね。
Azure Functions使用例
定期実行でkintone REST APIを実行する
Azure Functionsの設定でcron形式のタイマー設定が可能です。
HTTPトリガーを使ってAzureサービスと連携する
Azure Functionsを使うことによりAzureサービスとの連携が柔軟に対応できます。
ということで、発想次第でいろいろな使い方ができるサービスとなっています。
それではAzure Functionsを利用するための準備を以下の手順に沿ってやってみましょう。
Azure Functionsの準備
以下の手順でAzure Functionsの環境を準備しましょう。
パッケージモジュールのインストール
次に以下の手順でNodeJSのパッケージをインストールします。
-
「高度なツール」→「移動」を選択します。
-
Kuduが開かれます。
「Debug console」から「CMD」をクリックしコンソール画面を表示します。
-
このコンソールからパッケージをインストールしていきます。
-
画面上部にあるフォルダー名のリンクを選択して作成したFunctionのフォルダーに移動します。
1
D:\home\site\wwwroot\<function_name>
-
フォルダーに移動したら、npmコマンドを実行します。
-
package.jsonの生成
1
D:\home\site\wwwroot\<function_name>> npm init
いろいろ英語で質問されますが、"name"と"description"だけ入力して他はEnterキーで進んで問題ありません。
-
package install
今回はnode-fetch(バージョン2)を使用します。
1
D:\home\site\wwwroot\<function_name>> npm install node-fetch@2
インストールが完了したらnode_modulesフォルダーとpackage.jsonが作成されます。
package.jsonを開いて、以下のように設定がされていたらOKです。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
{ "name": "test", "version": "1.0.0", "description": "", "main": "index.js", "dependencies": { "node-fetch": "^2.6.6" }, "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" // ...... }
-
これでパッケージのインストールは完了です。
Functionエディターについて
① 表示する関数のファイルを切り替えることができます。
② 関数で実行する処理内容を記述します。
③ context.logなどのログ内容が表示されます。
④ 関数実行時のパラメーターを設定します。
コードの記述
Azure Functionsの準備ができたら次はコードを書いていきます。
今回はシンプルなkintoneのレコードを取得してログに表示するサンプルです。
|
|
上記のJSをエディターに貼り付けてkintoneのサブドメインとアプリIDと APIトークン を変更してください。
|
|
変更ができたらコードを保存して画面下部の「実行」ボタンを押します。
ログにkintoneのレコードが表示され、出力のHTTP応答コードが「200 OK」と出ていれば成功です。
おわりに
さて、今回はレコードの取得までとなりますが、この処理をベースにしてkintoneからレコードを取得→更新や、取得したレコード情報を別システムに登録などができます。
次回は定期的にkintoneアプリAのデータを集計して、アプリBに登録してみます。
次回記事はこちら!
kintoneとMicrosoft Azureを連携してみよう (Azure Functionsその2)
このTipsは、2022年1月版kintoneで動作を確認しています。