カテゴリー内の他の記事

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

フォローする

(著者:菊地 宏司)

Index

 

 

こんにちは。菊地です。

今回は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 の環境を準備しましょう。

  1. Microsoft Azure アカウントの準備
  2. Azure Functions の準備
  3. Azure Functions 関数の準備

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

 

パッケージモジュールのインストール

次に以下の手順でNodeJSのパッケージをインストールします。

 

「Function Appの設定」→ 「Kuduに移動」を選択

  

Kuduを開くとコンソール画面が表示されます。

このコンソールからパッケージをインストールしていきます。

 

画面上部にあるフォルダ名のリンクを選択して作成したFunctionのフォルダに移動します。

D:\home\site\wwwroot\<function_name>

 

フォルダに移動したら、npmコマンドを実行します。 

package.jsonの生成
D:\home\site\wwwroot\<function_name>> npm init

色々英語で質問されますが、"name"と"description"だけ入力して他はEnterキーで進んで問題ありません。

  

package install

今回使用するパッケージ

  • request
  • request-promise
D:\home\site\wwwroot\<function_name>> npm install request --save-dev
D:\home\site\wwwroot\<function_name>> npm install request-promise --save-dev

 

インストールが完了したら node_modules フォルダと package.json が作成されます。

package.json を開いて、以下のように設定がされていたらOKです。


これでパッケージのインストールは完了です。

Function エディターについて

① エンドポイントとなるURLです。HTTPリクエストから呼び出すことで処理を実行できます。

② 関数で実行する処理内容を記述します。

③ 関数のディレクトリをフォルダツリー形式で表示します。

④ 処理実行時のcontextログなどを表示します。

⑤ 関数実行時のパラメータを設定します。

⑥ 関数のレスポンス結果を表示します。

 

コードの記述

Azure Functions の準備ができたら次はコードを書いていきます。

今回はシンプルなkintoneのレコードを取得してログに表示するサンプルです。

 

上記のJSをコードに貼り付けてkintoneのサブドメインとアプリIDとログイン認証情報を変更して下さい。

var GET_URL = 'https://{subdomain}.cybozu.com/k/v1/records.json';
var APP_ID = 101;
var header_data = {
    "X-Cybozu-Authorization": 'xxxxxxxxxxxxxxxxx'
};

 

変更ができたらコードを保存して画面下部の「実行」ボタンを押します。

ログにkitnoneのレコードが表示され、右下に「200 OK」と出ていれば成功です。

 

 

さいごに

さて、今回はレコードの取得までとなりますが、この処理をベースにしてkintoneからレコードを取得→更新や、取得したレコード情報を別システムに登録などができるようになります。

次回からはそのあたりの部分をご紹介していきますので、お楽しみに!

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

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

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