AWS
lambda
LSL
APIGateway

AWS Translatorを使用した翻訳機を作ってみる(セカンドライフ)


セカンドライフって?

セカンドライフの説明は省きます。興味があったら調べてみて!

https://secondlife.com/

こことか

https://ja.wikipedia.org/wiki/Second_Life

ここ

イメージとしてはどうぶつの森とかが近いかも?

(いろいろありすぎてここでは書ききれないですよ)

<<そもそもLSLでスクリプト作るレベルの人だと説明する必要すらないような気も・・・>>


必要なもの


  1. 有効なAWSアカウント

  2. セカンドライフアカウント

  3. セカンドライフを使えるPC


実際に作ってみた


IAMロール

まずLambda関数からの呼び出し先としてAmazon Translateを登録するためのIAMロールを登録

・名前

適当(ここでは「ExecutionLambdaFunctionWithTranslate」と長い名前に)

・ロールを利用するサービス

Lambda

・権限ポリシー一覧

CloudWatchReadOnlyAccess

TranslateReadOnly


Lambda

つづいてAmazon Translateを使うためのLambda関数を作成です。

・名前

適当(ここでは「Translator」にする)

・ランタイム

Python 3.6

・ロール

既存のロール

・既存のロール

先ほど作成したIAMロールを指定です

・関数の中身

Translateにテキストとターゲット言語を送って翻訳後の文字列を返すだけです

import boto3

def lambda_handler(event, context):
translate = boto3.client("translate", region_name="us-west-2")
response = translate.translate_text(
Text=event["text"],
SourceLanguageCode=event["source_lang"],
TargetLanguageCode=event["target_lang"]
)
return response['TranslatedText']


API Gateway

LSLではLambda関数使用できないのでAPI Gateway作ります。


カスタムドメイン

独自ドメインを使いたい人は設定してね、無くても出来るけどURL長いよー

・ドメイン名

適当

・エンドポイントの設定

エッジ最適化

・ACM証明書

AWS Certificate ManagerでSSL証明書を作成してね(バージニア北部のみの対応だよー


APIキー作成

認証無いと外部から使用されてお金いっぱいかかるかも

作成は「API キーを作成」クリックして名前入力するだけ。簡単。


LSL Script

作成中・・・