「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運営の皆さま、ありがとうございました!
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
「JAWS-UG KANSAI meetup Jan 2021」に参加しました
ようやくタイミングがあって、hopinに移行してから初の参加。 「今どんくらい人 …
-
「JAWS-UG千葉支部オンライン#9 AWS re:Invent 2020 re:Cap&LT大会」に参加しました
今日は千葉支部におじゃましました。 re:Invent2020振り返り 〜はじめ …
-
Java SE 7 Silver対策勉強をしながらメモ 2015/1/27
だんだんなんだか日記じみてきましたが、試験対策メモをいつものごとくマークダウンで …
-
Alexa Day 2018にサポーターの中の人として(初)参加しました
2018/2/11に神戸三ノ宮のスペースアルファ三宮で開催されたAlexa Da …
-
「Meguro.dev #1 」でモブプログラミングを体験してみました
「AWSの各サービスを道具としてアプリケーション開発を行うデベロッパーのための新 …
-
AWS Summit 2016 Tokyoに参加してきました (Day3)
飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …
-
Java SE 7 Silver対策勉強をしながらメモ 2015/2/5
本日は例外。 いつものごとくマークダウンで記載したのでそのままJetpack M …
-
AWS Cloud Roadshow 2016 Osaka Night Event ミッドナイトJAWS
AWS Cloud Roadshow Osaka 2016のナイトイベントでミッ …
-
「JBUG広島#7 × Agile Japan」に参加しました
JBUG広島さんとAgile Japanさんの合同勉強会に参加しました。 きっと …
-
Developers Summit 2024「事業で成果を出すCTOたち」を見ました
Developers Summit 2024に参加しました。 大阪から朝早くの新 …