*この記事はawsハンズオンビギナーズをやってみて復習として作成しています
今回は、Lambdaをテスト実行してその結果を英訳できるところまでをやります。
1 Lambda関数の作成
以下の画面から「関数の作成」ボタンをクリックします。
~設定項目~
1,任意の関数名を入力
2,ランタイムの設定(今回はpython3.7にしました)
3,アーキテクチャは「x86_64」を選択
Lambdaのサービスロールを付与します
~設定項目~
1,「基本的なLambdaアクセス権限で新しいロールを作成」を選択すればOK
2 Lambdaの関数(コード)の編集
LambdaでAWS Translateを呼び出すようにコードを編集します。
以下のリンクから
以下のスクショの選択部分をコピーしておきます
Lambdaのコードの編集画面にコピペします。
コピペ後にコードの編集をします。詳細は動画をみてください。
めんどくさい方用にコードを添付しておきます。
import json
import boto3
translate = boto3.client('translate')
def lambda_handler(event, context):
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の関数の編集画面に設定していただければすぐにできると思います。
input_textの部分は自由に変えてみてください。
これでLambdaは完成ですが、このLambda自体にTranslateを実行する権限自体がないので権限を付与していきます。
3 LambdaにTranslateの実行権限を付与
IAMのロール一覧の画面から検索でLambda関数作成時に自動生成されたサービスロールを見つけます。
こちらのロールにTranslateの権限をつけていきます。
今回は学習用ですのでフルの権限をつけちゃいます。
4 テストしてみる
テストイベントを設定後「テスト」をクリック
英訳されました。
お疲れ様でした。