Loading
BLOG 開発者ブログ

2019年2月1日

[Google Cloud Functions]でQRコード作成APIを構築!

スマートフォンを絡めたサービスやシステムには、QRコード生成が必要になる場面があるかと思います。(QRコードはデンソーウェーブの登録商標です)

そんなとき、言語やフレームワークの機能、ライブラリを使用することでQRコードは作成出来ることが多いとは思いますが、WebAPIとして実装したい場合もあると思います。

そこで!今回はGoogle Cloud Functionsを利用し、QRコードを生成するWebAPIを構築していきます。





こんにちは。モバイルソリューショングループのimai.kです。

早速ですが、以下の流れで進めていきます。

流れ

  • コンソールからGoogle Cloud Platform(以下、GCP)にアクセスするための準備
  • Python環境について
  • QRコード生成スクリプトの作成
  • スクリプトのアップロード


GCPアクセスの準備

こちらを参考に、GCPのプロジェクト作成、CloudSDKのインストール・gcloudコマンドのセットアップを行なってください。


Python環境について

Cloud Functionsでは、本記事公開時点で”Node.js 6, Node.js 8, Python, Go”からランタイムを選択可能です。(ただし、”Node.js 6″以外はbeta releaseの状態です。)

今回はPythonを選択しますが、Cloud FunctionsのPythonランタイムは3.7.1(記事公開時点)となっており、ローカルでスクリプトを組む際、同様の環境を構築しておくのが良いでしょう。

ご自身の環境に合わせて、Pythonの環境構築を行なってください。


QRコード生成スクリプトの作成

実際にCloud Functionsにデプロイするスクリプトを作成します。

Cloud Functionsでは、requirements.txtにスクリプトで使用するライブラリを記載することで、ライブラリの依存関係を解決できます。(Python使いにとってはとても自然ですね。)

まずは任意のディレクトリ内に、requirements.txtを作成してください。

次に、メインのスクリプトを作成します。

先ほどrequirements.txtを配置したディレクトリにmain.pyを作成してください。


スクリプトのアップロード

最後に、作成したスクリプトをアップロードしましょう。

gcloudコマンドを使用し、コンソールからアップロードします。

コマンド実行完了後、”https://{region}-{project_name}.cloudfunctions.net/make_qr”のようなURLが吐き出されます。

上記URLに”q=https://www.isoroot.jp/”とクエリーパラメータを付与し、ブラウザに入力してみましょう。

以下のようなQRコードが生成されれば成功です。


まとめ

Cloud Functionsを利用することで、簡単にWebAPIを作成することができました。

コーディング > デプロイまでを直感的に行うことができるのがCloud Functionsの利点ですね。

ではでは。

imai.kのブログ