「SORACOM UG Online Handson #1 ~スマホで顔認証編~」に参加しました
久しぶりのSORACOM UG勉強会に参加しました。
目次
SORACOM Air メタデータサービス機能とは
ソラコム maxさん
メタデータサービスはシステム開発で役に立つサービス。
SORACOMでのメタデータは、SIMのメタ情報。
SIMそのものから見た時にいっこ外側の情報ということですね。
回線管理の自動化や設定情報の配布に使用できる。
タグとユーザーデータを取得できるうちのユーザーデータを使ってハンズオンをするそうです。
楽しみ♫
ハンズオン
手順はこちら、SORACOM回線を使ったスマートフォンとAWSサービスを用いた画像認識サービスを構築するです。
環境
私は、直接スマートフォンにSIMを差さずにSORACOM plan-DU SIMをSpeed Wi-Fi NEXT W05で使ってみるで設定したSpeed Wi-Fi NEXT W05ルーターをWiFiで使ってハンズオンしてみました。
ハンズオン本編
ソースコードはGithubIoTkyoto/soracom-ug-reko-handsonにあります。
Step1 Cloud9起動してCLI
東京リージョンで手順はt2.microでしたが、けちってt3.nanoのCloud9を起動しました。
CloudShellでもできるだろうという話でしたが、CloudShell向けの手順はまだ作ってないということでCloud9利用でした。
Githubからソースをcloneして、CLIのバージョン確認でStep1は完了です。
ちなみに本日時点でのCLIバージョンはaws-cli/1.18.223 Python/2.7.18 Linux/4.14.214-160.339.amzn2.x86_64 botocore/1.19.63でした。
Step2 S3バケットとRekognitionコレクションの作成
S3バケットをマネジメントコンソールで作成して、プロフィール写真を1枚アップロード。
そしてCLIからRekognitionのコレクションを作成しました。
そのコレクションにS3バケットにアップロードしたプロフィール写真をインデックスしました。
Rekognitionコレクションはじめて使いましたが、比較対象のマスタ画像として使うことができるのですね。
CompareFacesでは2つのオブジェクトを指定しますが、その方法よりもマスタ管理がすっきりできますし、何千枚も元となる画像に総当りしようとすると、ロジックがめちゃめちゃ大変になる
Step3 顔認証用のWeb API(Lambda+API Gateway)を作成
Lambdaが使用するIAMロールに次のようなインラインポリシーを追加するのですが、手順はアカウントがアスタリスクでした。
ですが、ここはRekognitionのコレクション指定なので、アカウントIDは指定しておいても大丈夫ですよね。
なので、指定しました。
1 2 3 4 5 6 7 8 9 10 11 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rekognition:SearchFacesByImage", "Resource": "arn:aws:rekognition:ap-northeast-1:123456789012:collection/yamashita-collection" } ] } |
API Gatewayは使用量プランを使いますので、APIキー必須にしています。
Step4 SORACOMメタデータサービスを設定する
メタデータサービスの有効化はSIMグループに対して設定するのですね。
JSON形式のユーザーデータを登録しました。
JavaScriptアプリケーションで、SORACOMのメタデータにアクセスして先程のユーザーデータを取得しているのですね。
なるほど。
ここで理解できました。
こうすることで、SIMグループに設定した独自の情報(ユーザーデータ)をクライアントアプリケーションに個別に渡せるのですね。
こんなユーザーデータを設定しました。
1 2 3 4 5 |
{ "apiEndpoint": "https://xxxxxxx.execute-api.ap-northeast-1.amazonaws.com/prod/search", "apiKey": "xxxxxxxxxxxxxxxxxx" } |
このユーザーデータをこちらのコード
soracom-ug-reko-handson/webapp/src/components/SearchFacesSoracom.vueの、getSoracomMetadataで取得しています。
Step5 動作確認
S3で運営によって用意していただいているハンズオン用デモアプリにスマートフォンからアクセスします。
まずは、SORACOMのSIMではない回線で。
SORACOMメタデータが取得できないエラーになりました。
WiFiをSORACOMメタデータを設定したSIMがささっているWi-Fi NEXT W05に変更して画面更新したところ、ユーザーデータに設定した、APIエンドポイントとAPIキーが取得できています。
今の顔写真をアップロードしました。
二日酔いでぼさぼさです。
Rekognitionのコレクションに設定したのはこちらの宣材写真です。
メガネもしてませんし、いやあさわやかですね。
99.45%で一致しました。
すごいですね〜
まとめ
最後は記念写真です!
勉強会ってやっぱりいいですね。
質問や意見交換もできるし。
本編とは関係ないですが、今回のフロントエンドで使われてたVue.jsの勉強を始めたいなあと思ってて、相談したらこちらの本をおすすめいただきました。
さっそく購入したので、勉強開始するっす。
SORACOM-UG運営の皆さま、ありがとうございました!
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
i【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター3年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Developers Summit 2018 「Spinnakerで実現するデプロイの自動化」を聞きました
以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …
-
-
「IBM Cloud Community Summit 2018 フルマネージドデータベースというのは使えるのか?IBM Cloudでのデータ活用事例いろいろ」でIBm Cloudのデータベースサービスを聞かせていただいた
IBM Cloud Community Summit 2018におじゃましました …
-
-
DevLOVE関西 現場甲子園2015 「西日本大会」に行ってきました
DevLOVE関西 現場甲子園2015 「西日本大会」に行ってきました。 全部で …
-
-
Java SE 7 Silver受験直前 練習問題総確認 2015/2/14
カーリング中継見ながら、iTunesシャッフルでかけながら、練習問題。 集中って …
-
-
Alexaで操作するスマートホームシステムの概要(Alexa Day 2019でのブログ)
以下は、気になったことのメモとか感想を書いています。 登壇者、発表者、主催企業な …
-
-
AWS認定のバッジ管理が新しくなったみたいです
ふと、メールが届きました。 なんでしょうね。 いきなりリンクを踏むのもあれなんで …
-
-
「関西AWSスタートアップ勉強会」に行ってきました
第2回 関西スタートアップAWS勉強会に行ってきました。 akippa 拠点数コ …
-
-
「JAWS-UG 新潟 プチキャッチアップ 2021 #3」に参加しました
「当日、始まってからやること決めます。 AWSに関する記事や動画を見ながら、参加 …
-
-
AWS Summit 2016 Tokyoに参加してきました (Day3)
飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …
-
-
Innovation EGG 第9回 『ITの可能性と楽しさを語ろう!』に行ってきました
JAZUG LINE 砂金さん OracleからMSからLINEへ 何にわくわく …