개발학습일지

[Restful API] Amazon Translate를 이용해서 API 만드는 파일 안에서 번역하기 본문

Restful API

[Restful API] Amazon Translate를 이용해서 API 만드는 파일 안에서 번역하기

처카푸 2024. 5. 30. 17:57

Amazon Translate를 이용해서 API 만드는 파일 안에서 번역하기

 

번역해 주는 함수를 만들어서 사용한다.

    # 함수 괄호 안에 self를 해야 같은 파일 안에서 함수를 사용할 수 있다.
    def translate(self, text) :
    	# 일시킬 client 만들어 준다.
        # IAM에서 번역만 할 새로운 사용자를 만들어 권한을 부여해줬다.
        client = boto3.client(service_name='translate', 
                              region_name='ap-northeast-2',
                              aws_access_key_id = Config.AWS_TRANSLATE_ACCESS_KEY,
                              aws_secret_access_key = Config.AWS_TRANSLATE_SECRET_ACCESS_KEY)
		# 제공해주는 코드를 내가 필요한 부분으로 수정하여 사용한다.
        result = client.translate_text(Text=text, 
                                       SourceLanguageCode="en", 
                                       TargetLanguageCode="ko")
        print('TranslatedText: ' + result.get('TranslatedText'))
        
        # 번역된 결과 문자만 리턴한다. 
        return result.get('TranslatedText')

 

함수를 만들었다면,

함수를 사용해서 필요한 부분에서 사용한다.

        # 리스트로 쓰여있는 영어 데이터들을 하나의 문자열데이터로 만든다.
        label_str = ','.join(label_list)
        
        # 내가 만든 번역 함수를 사용해서 번역한다.
        # 같은 파일에서 만든 함수이기 때문에 앞에 self.를 붙혀서 사용한다.
        label_str = self.translate(label_str)

        # 번역한 문자 데이터를 다시 리스트로 만든다.
        label_list = label_str.split(', ')

 

 


* Amazon Translate Language code

https://docs.aws.amazon.com/translate/latest/dg/what-is-languages.html

 

Supported languages and language codes - Amazon Translate

Amazon Translate does not charge you for translations if you specify the same language for the source language and the target language. If you set the source language to auto, you may be charged for using auto detection. For more information, see Automatic

docs.aws.amazon.com

 

* 파이썬을 이용해서 번역하는 방법 설명

translate = boto3.client(service_name='translate', region_name='region', use_ssl=True)

result = translate.translate_text(Text="Hello, World", 
            SourceLanguageCode="en", TargetLanguageCode="de")

https://docs.aws.amazon.com/translate/latest/dg/get-started-sdk.html#examples-python

 

Getting started (SDK) - Amazon Translate

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

 

* 새로운 IAM 사용자 만들어서 번역 권한 주기

https://msdev-st.tistory.com/161

 

[AWS] IAM 사용자 권한 할당량을 초과한 경우 해결 방법

IAM 사용자 권한 할당량을 초과한 경우 해결 방법 문제 상황: Amazon Translate을 사용하려고 하는데,ClientError: An error occurred (AccessDeniedException) when calling the TranslateText operation: User: arn:aws:

msdev-st.tistory.com