「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認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Cybozu Circus 2021で「 社長・青野のテレワーク術を大公開! 組織の一体感を高める「プロセス公開型マネジメント」って?」を見ました。
サイボウズさんのCybozu Circus 2021大阪グランフロントに行って、 …
-
-
「Fin-JAWS 第25回 ~Go to Fin-JAWS School! 2022~」で発表しました
「Fin-JAWS 第25回 ~Go to Fin-JAWS School! 2 …
-
-
「JP_Stripes (Stripe ユーザーグループ) Tokyo Vol. 6 — Stripeの使いドコロを知る」に行ってきました
「JP_Stripes (Stripe ユーザーグループ) Tokyo Vol. …
-
-
「SendGrid Night in Osaka #2」でLTさせていただきました
SendGrid Night in Osaka #2でLTをしてきました。 会場 …
-
-
「四国クラウドお遍路 2024 in 高知」に参加しました
JAWS-UGの四国4支部合同による四国クラウドお遍路に参加してきました。 せっ …
-
-
ヤマムギ vol.9 (AWS)EC2からAWS CLIコマンドを実行してみようハンズオン 手順
このブログは2020/5/5に開催しました、「ヤマムギ vol.9 (AWS)E …
-
-
「JAWS-UG 名古屋 DR対策特集+LT」で発表しました
2021/3/29の「JAWS-UG 名古屋 DR対策特集+LT」で「ブログを大 …
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/2/11
練習問題4日目。 とりあえずひと通り終了。 317問中288問正解、90.85% …
-
-
「今できないことだとしても、やるべきことをやっていく」『挑まなければ、得られない Nothing ventured, nothing gained.』読書感想
「挑まなければ、得られない Nothing ventured, nothing …
-
-
Developers Summit 2018 「Building Real-time Application With AWS AppSync 〜GraphQLの始め方〜」を聞きました
以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …







