본문 바로가기

AWS

번역 웹 서비스(POST)

 

 

/* AWS SDK 를 가져옵니다.*/
var AWS = require('aws-sdk');

AWS.config.update({region: 'us-east-1'});

var translate = new AWS.Translate();
exports.handler = function(event, context,callback){

console.log(JSON.stringify(event.body));

const response = JSON.parse(event.body)

  //event.body로 POST로 받은 데이터를 받습니다.
  try{
    const translateParams = {
    SourceLanguageCode: 'ko',
    TargetLanguageCode: 'en',
    Text: response.text
  }

  //translate SDK를 불러옵니다.
  translate.translateText(translateParams, function (err, data) {
    if (err) callback(err)
    callback(null,{
        statusCode:200,
        headers: {
        "Access-Control-Allow-Origin" : "*", //S3에서 요청을 할 수 있도록 허용해줍니다.
        "Access-Control-Allow-Credentials" : true
        },
        body:data.TranslatedText
    })
  })
  }catch(e){
    callback(null,{
      statusCode:200,
      body:JSON.stringify(e)
    })
  }


};

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>번역웹사이트</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="row">
        <div class="col align-self-center">
            <h5 id="resultText"></h5>
            <form action="javascript:void(0)">
                <div class="form-group">
                    <label>텍스트를 입력해주세요.</label>
                    <textarea class="form-control" id="textInput" rows="3"></textarea>
                </div>
                <button onclick="sendReqeust()" class="btn btn-primary">Submit</button>
            </form>
        </div>
    </div>
</div>

</body>
<script type="text/javascript">
    var inputSelector = document.querySelector('#textInput');
    var resultText = document.querySelector('#resultText');

    function sendReqeust() {
        resultText.innerHTML = "로딩중..."
        fetch("your-apigateway-endpoint", {
            method: "POST",
            body: JSON.stringify({
              text:inputSelector.value
            })
        }).then(function (response) {
          return response.text().then(function(text) {
                resultText.innerHTML = text;
          });
        })
    }
</script>
</html>

'AWS' 카테고리의 다른 글

EC2 인스턴스 연결  (0) 2021.02.18
Beanstalk 예약 서비스  (0) 2021.02.18
Lambda 함수 기반 문자 알림 서비스  (0) 2021.02.17
Dynamo DB CRUD  (0) 2021.02.16
S3 버킷 이미지 업로드 / 정적 웹 사이트 호스팅  (0) 2021.02.16