[AWS]JAWSサーバレスハンズオン勉強会参加報告①
JAWSさん開催の勉強会に参加してきました!
今までAWSってなんとなくクラウドサーバーなんだろうな〜って感じだったんですが、今回の勉強会に参加したことで、こんなこともできるの!?って驚きました!
少しでも共有できたらと思います。
結構長くなりそうなので3回に分けて書いていきたいと思います。
何を行なったのか?
今回の勉強会は"AWS Lambdaを使用してサーバーレスを体験しよう"という題目でした。
実際に手を動かして、以下の物を作成しました。
1. 日→英翻訳する機能を作成する
2. 日→英翻訳Web APIを作成する
3. 英語音声データから文字起こしをを行う機能を実装する
普通にやばくないですか??しかも90分で作ります笑
今回は日→英翻訳する機能を作成した内容を書きます。
Lambda Functionを作成し、"Hello World"を表示する
お決まりのHello WorldをLambdaで表示させます。
初サーバーレス。。。。
まずマネジメントコンソールでLamdaを検索する
次に表示された画面の左側の"関数"をクリックしてオレンジボタンの"関数を作成"をクリックします。
一から作成を選択
基本的な情報を入力していきます。
関数名はなんでもいいですが、今回はtranslate-funcとします。
ランタイムはPython 3.8を選択してください。
関数の作成をクリック。
下にスクロールするとソースコードがあるので、そこのHello from Lambda!を好きな文字に変えます。
そして右上の保存をクリックしてテストをクリック。
そうするとテストイベントの設定モーダルが開きます。
どうやらここの”イベントテンプレート”から他のAWSサービスからの呼び出し時のevent(コードのLambda handlerの引数)情報をシミュレートできるみたいなのですが、今はわからないのでHello Worldで続けます。
イベント名はTestとかで作成します。
もう一度テストをクリックしましょう。
すると以下のようなログが出力されます!Hello Worldです!
Lambda Functionを修正し、Amazon Translateと連携する
Amazon Translateという翻訳サービスがあるみたいで、これとLambdaを連携させて日→英翻訳機能を実装していきます。
先ほどの画面で下にスクロールすると実行ロールの項目があります。
その最下部に
こんな感じの記述があるので、クリックします。
ポリシーをアタッチをクリック。
検索窓にtranslateと入力してTranslateFullAccessにチェック入れます。
そしてポリシーのアタッチをクリックします。
これを行うことでLambda FunctionのIAMロールを修正することができます。
Lambda画面に戻って以下のコードに変更します。
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
})
}
このコードの
・
・
def lambda_handler(event, context):
translate = boto3.client('translate')
input_text = '順調ですか?'
・
・
"順調ですか?"の部分が英語に翻訳されます。
自由に変えてみてください。
保存を押してテストを実行しましょう。
英訳されています!!
以上が第一回目の内容となります。
次回はこれをAPIにしていきます。
この記事が気に入ったらサポートをしてみませんか?