Azure Serverless ワークショップ Deep Dive : モジュール 7,8

前回に続いて、今回はモジュール 7 と 8 の Deep Dive です。

GitHub モジュール 7: https://github.com/Azure-Samples/azure-serverless-workshop-team-assistant/tree/lang/jp/7-photo-mosaic-bot
GitHub モジュール 8: https://github.com/Azure-Samples/azure-serverless-workshop-team-assistant/tree/lang/jp/8-coder-cards

概要

どちらも以下の点で共通したモジュールとなっています。

- 写真の解析
- Cognitive Service
- C#

コード自体は Serverless とは直接関係がなく、機能の実装を主としているため今回は解説しませんが、利用しているサービスなどを見ていきます。

各種サービス

Azure Storage

写真の置き場所として利用 Blob を利用。またモジュール 8 では処理のトリガーとしてキューも利用。

Custom Vision Service

このサービスを使うと、通常の Vision サービスでは解析されないものを独自に対応できます。既に多くのブログで紹介されています、例えば吉野家と松屋の牛丼を見分けるということが可能です。今回はランドマークを登録して見分けるデモをしていますが、是非独自のカテゴライズに利用してください。

Bing Search API

Bing 検索の機能を API として利用できます。今回はイメージ検索とその URL 取得に使っています。一気に画像を取得するのに良さそうです。

Emotion API

Cognitive Service の中でも初期に公開されたものであるため、ご存知の方も多いと思いますが、表情の感情分析が行えるサービスです。モジュール 8 ではこのサービスで表情を分析した結果より返すカードの種類を変えています。

なぜ C# か

ここまで Node メインでしたが急に C# になったのはバリーションを持たせるためだと思いますが、画像処理などは C# のほうが書きやすいのかもしれません。

まとめ

今回でワークショップの Deep Dive シリーズは終わりますが、このワークショップで学んだことが多くありました。

- Serverless では機能ごとに実装して公開していく
- 各サービスは疎結合でも密結合でもできる
- 言語には依存しずらいためより柔軟に開発やコラボができる

明日はいよいよ Serverless Conf のセッションがあります。楽しみましょう!

中村  憲一郎