以前から、私は「言語を超える力」というアプリを開発しています。
やりたいこととしては、FF14で使われているエオルゼア文字をAmazon Rekognitionで画像認識させて、英数字に変換させたいということです。
「誰でもエオルゼア文字を読める世界を!」
— ゲレ☆FF14とフクロモモンガを愛するアカウント (@gelehrte_crest) 2020年5月31日
「 #言語を超える力 」というアプリを制作しています#FF14 のSSからエオルゼア文字を英数字に変換します
現在アプリ開発のためにエオルゼア文字が入っているSSを募集中#言語を超える力でこのSS読んで
もしくは#languageecho_testSS
でレスお願いします pic.twitter.com/RPzWZ1yKX5
実際、画像タグをつける作業も並行して行っています。
今回の記事ではその活動の一部分、プログラミングによるシステム構築を。
特に、AWS Lambdaについては理解していないことが多いので、これを機に勉強してみたいと思っています。
その備忘録です。
参考記事
こちらの記事を参考に勉強しました。
qiita.com
やりたいこと
Amazon Rekognition の API
Amazon RekognitionのAPIをAWS Lambdaから叩く
APIはAmazon Rekognitionの中にドキュメントが書かれてあります。
これを実行すれば良さそうですね。
さて今回はその実行するためのPython環境としてAWS Lambdaを選択しました。
理由としては、私がAWS Lambdaを触ってみたかったからです!
前々からAWS Lambdaを触ってみたい欲求はあったのですが、実際に使う目的が見当たらなかったのです。
今回ようやく、その目的が見つかったのが嬉しいですね。
実際やってみた
エラーが吐き出されました
Error An error occurred (AccessDeniedException) when calling the StartProjectVersion operation: User: arn:aws:sts:: 以下略
どうやらAWS Identity and Access Management (IAM) ポリシー違反っぽいエラー
このUserにIAMで権限を設定すれば良いのでしょうかね・・・
roleに権限を追加する
エラーログと見合わせてみると、IAMコンソールのroleから見覚えがある文字が、
これにロールを追加すればいいのかな。
とみているとぴったりのがありましたね。
AmazonRekognitionCustomLabelsFullAccess で良さそうです。
考え方を変えてみる必要がある?
どうやらモデルの起動に時間がかかるのであれば、
- モデルは起動したままにしておいて、
- 推論だけAWS Lambdaを利用し、
- 私やみんなが使わなそうな時間だけ停止しておく
というのが良いのかもしれません。
それだけ分かっただけでも収穫なのかな。
とりあえず備忘録ということでノ`・ω・)ノ
追記(2021/03/07):このあととんでもないことに・・・・
詳しくは次回の(自戒の)記事を・・・・
blog.gelehrte.com