AWSのlambdaを使って、翻訳機能を実装してみた


はじめに

最近本格的にAWSの勉強を始めたので、そのoutputのために書きました。
同じようにAWSの初学者の方の助けになると幸いです。

前提として

  • python を基本コードとして使います
  • AWS マネジメントコンソールを登録している前提で始めます

関数の作成

まずAWS マネジメントコンソールを開き、上の検索バーのところで「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,
        'body3': json.dumps({
            'output_text' : output_text
        })
    }

次に「TEST」クリックして、出力してみます。
すると、TranslateText operation の権限がない状態でその関数を使ったためエラーが出ていることが分かります。なので、次に権限の付与を行います。

権限を与える

設定からアクセス権限を選択し、実行ロール中の付与を与えたい関数を選択します。

そして、アクセス権限の、「ポリシーをアタッチします」を押してください。そこの検索バーから「Translate Full Acess」を選択します。すると付与成功です!
ちなみに先ほどのこの部分で確認できます。
以下が完成結果です。

今回の概要