note_ロジックアップでAPI

Microsoft Azure を使ってノンコーディングでAPIを作成する

はじめまして、スタッフのイトムラです。

技術ブログ初投下です。「プログラミングは目的達成のためのツールでしかない 」をもとにスタートアップカフェコザでプログラミングスクールを運営しています。便利な技術は誰にでも享受されるべきだと考え、できるだけ初心者にも伝わるような文章を書いていきたいと思います。

Azure Logic Appsを使う

この前、データをPOSTで送信してデータベースに追加するだけのスクリプトが必要になりまして、それだけのためにコード書くのはどうなんだろうと思い、Microsoft Azure の Logic Apps を使ったら本当にサクっと簡単にAPIが作れてしまったので、作り方を公開します。

このブログを読んで実際に手を動かして頂く前に前提として「Microsoft Azureのアカウントがあり使用できること」がありますので、ご了承ください。

今回の構成はこちら。

まずは画像の説明を
WEBからPOST:これはそのままWEBサイトからPOSTメソッドを使ったHTTPリクエストをする意味です(GET,POSTなどわからなければググりましょう)。
データはjsonの形式:POSTのリクエストでデータを送信する際のデータの形式を「json」というデータフォーマットとします。人間にもコンピュータにも優しいデータの表現方法です。
Logic Apps:今回のメインです。Microsoft Azure というクラウドプラットフォームで提供される SaaS です。SasSは「サース」と読みます。インターネットごしに利用できるソフトウェアのことです。他にもIaaS、PasSなどがあります。
SQL Server:Microsoftが提供するRDBMSです。正式名称は Microsoft SQL Server で、略称が SQL Server、MSSQLなどです。

こんかい作成するのは、Logic Apps SQL Server の2つです。

STEP1:データを入れるデータベースの作成

ここで作成するデータベースのことが SQL Server のことです。サーバー?データベース?ややこしいですよね。ここで言えば、サーバーはデータベースが入っているコンピュータ。データベースはデータをいれるための箱です。
ということで Azureのポータル に入ってつくりましょう

SQL Database を選択し、必要事項を記入して作成します。リソースグループは新規作成でつくります。テストなので価格レベルは一番低いやつ。月631.56円。終わった消せばいいので可動した分しか課金されません。

作成に少し時間がかかります。作成されるのは「SQL Server」と「SQLデータベース」の2つです。これでデータベースの作成が完了!下図がリソース一覧画面です。(リソース:azureで作成したアプリのこと)

といきたいところですが、もう少し作業がのこっています。次はテーブルを作成します。リソース一覧から SQL Database を選択して、「クエリエディター(プレビュー)」を選択します。


ここで認証が求められるので、「SQL Server 認証」を選択肢、先程 SQL Server 作成のときにつくったアカウントとパスワードでログインしてください。

クエリにSQLを打ち込んでテーブルを作成します。コードも貼っておくのでわからなければ「SQL Server INT IDENTITY (1, 1)」などして調べてみてください。

CREATE TABLE [dbo].[User] (
    [id]         INT IDENTITY (1, 1) NOT NULL,
    [name]       NVARCHAR (255)   NULL,
    [email]      NVARCHAR (255)  NULL,
    PRIMARY KEY CLUSTERED ([id] ASC)
)

コード入力後、実行ボタンを押せば作成されます。これでデータを受け取る環境が整いました。左側のデーブルフォルダをクリックすれば dbo.User というテーブルが作成されているのを確認出来るはずです。


STEP2:Logic AppsでAPIを作成する

ステップ2とはいえこれで最後です。

Logic Appのリソースを作成します。

リソースグループは先程つくったものを選択します。




そうすると、ロジックアプリというのが増えます。

そのままロジックアプリを選択しましょう。そうするといきなり「デザイナー」という画面になります。いったん右上のバツボタンで閉じましょう

下記の画面がデフォルト画面です。そこから「ロジックアプリデザイナー」を教えて先程の画面に進みましょう!

下図のアイコンを選択します。

「新しいステップ」を押してステップを追加します。選択するのは「SQL Server」(なければ検索してください)→「行の挿入」です。そうすると、下記の項目が出てきます。必要な情報を選択してください。

・接続名:これは何でもOK
・SQL Server名:STEP1でつくったものを選択してください
・ユーザー名:STEP1できめたもの
・パスワード:STEP1できめたもの
・オンプレミスのデータ ゲートウェイ経由で接続:チェック無し

続いて、作成したテーブルを選択

ここで作業ストップ。ここまで何をしたかというと、「HTTPリクエスト」を受け取ると「SQL Serverのデータベースにレコードを挿入する」という仕組みをつくりました。たったこれだけでコードを書かずにできちゃいます。しかし、まだ作業が残っています。次にやることは、「HTTPリクエスト」はどのようなデータを受け取るのかを定義する。「レコードに挿入する」データはなにかを定義します。

1.「HTTP要求の受信時」をクリックし、下にある編集を押します。そうすると、「要求本文のJSONスキーマ」と書かれている下がエディタになっているのでそこにJSONを定義します。これはSTEP1でつくったテーブルをもとにしています。

{
    "properties": {
        "name": {
            "type": "string"
        },
        "email": {
            "type": "string"
        }
    },
    "type": "object"
}

では、受け取るデータを定義したら、「行の挿入」の書くカラムに何を追加するのか定義していきましょう。

name 箇所を選択し、「動的なコンテンツの追加」を押すと右に「email」「name」が出てきます(これは上で定義したJSONのデータをもとに生成されます)。それぞれのカラムに対応するものを選びます。

これが出来たら左上の保存を押します!そうすると「HTTP POSTのURL」の部分にURLが生成されます。これで完成です!

これでAPIの作成がおわりです。データの定義のみでAPIが作成できてしまいました。複雑な処理をしなければコード無しで作成ができます。価格も使用した分になっています。

Azureについて便利な情報を今後も追加していきます!

この記事が気に入ったらサポートをしてみませんか?