AWS初心者のものです。
昨日JAWS-初心者支部にて
1.AWS Lambda で 日⇨英翻訳する
2.翻訳 Web APIを作る
3.文字起こし+翻訳パイプラインを作る
のハンズオン3本立てを実施していただきました。
今回は「1.AWS Lambda で 日⇨英翻訳する」をアウトプットをしていきたいと思います。
##そもそもLambdaとは##
⇨AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。料金は、コンピューティングに使用した時間に対してのみ発生します。(公式サイト参照)
######え?
理解するのに時間がかかりました。。。
僕みたいな初心者の方にわかりやくす説明するとしたら、
アプリケーション実行時には
-WindowsやLinuxの環境を構築
-Webサーバ・APサーバ・DBサーバのインストール・環境構築
が発生していました。
この手間を無くしてくれたのが救世主Lambda様。
初心者がつまずきやすい環境構築を取っ払ってくれました。
※EC2とLambda結局どっちがいいの?⇨一長一短あるみたいなので適材適所で利用するのが良いみたいです!
概要を理解できたところで早速本題へ移っていきましょう。
###1.Lambda functionを作成し、"Hello World!"を表示する
Lambdaのコンソールに行っていただいて
オプション:「一から作成」
関数名:「translate-function」
ランタイム:「Python3.8」
⇨「関数の作成」をクリック
無事作成できましだでしょうか?
できたらこのポップアップが出現します。
作成したら少し下にスクロールして
「関数コード」の欄にコードがあります。
コードの「"Hello from Lambda"」⇨「"Hello World"」へ修正してみましょう!
↓
修正したら右上の「保存」を忘れずに!
テストイベントの設定で
イベント名:「Test」とし、「作成」をクリック。
少しわかりづらいですが「Hello World!」が表示されてれば成功です!
###2.Lambda functionを修正し、Amazon Translateと連携する!
先ほど作成したLambda functionの下部へスクロールし、実行ロール欄の「※※※※ロールを表示」をクリック!
ポリシーをアタッチしていきます! ※おそらく別タブが開きます
「ポリシーをアタッチします」をクリック
⇨検索窓で「translate」⇨「TranslateFullAccess」にチェックをいれ、「ポリシーのアタッチ」をクリック。
Lambdaコンソールを開いてるタブへいき、ソースコードを修正していきます!
※AWS SDK for Python (boto3) のソースコードを利用しております。
import json
import boto3
def lambda_handler(event, context):
translate = boto3.client('translate')
input_text = '順調ですか?'
response = translate.translate_text(
Text=input_text,
SourceLanguageCode='ja',
TargetLanguageCode='en'
)
output_text = response.get('TranslatedText')
return {
'statusCode': 200,
'body': json.dumps({
'output_text': output_text
})
}
またわかりづらいですが翻訳結果が出ていれば成功です!
カタカナは流石にダメでした。笑
Lambdaについて理解できていませんでしたが、ハンズオンを通し、少しは理解できたと思います。
実務的なテクニカルな部分については理解しておりませんが、これから理解していけるように勉強していきます!
ありがとうございました!