본문 바로가기

AWS/PROJECT

AWS Lambda로 S3 버킷에 있는 파일의 형식 바꾸기

728x90

드디어 했슴다 나는 불굴의 의지의 사나이

하하하하하하하하하하하하하하하하하하하하하

 

 

1. Amazon Transcribe를 AWS Lambda를 이용해 자동으로 실행하기

https://engine.tistory.com/125?category=1076479 

 

[Project] AWS Transcribe를 이용해 자막 파일 만들기

프로젝트 소개 AWS Transcribe를 이용해 자막 파일을 만들기 - 유튜브 오디오 추출 사이트에서 오디오 파일을 만들고, S3에 업로드 - S3에 있는 파일을 람다 함수를 이용해 Transcribe를 자동으로 돌려서

engine.tistory.com

 

 

2. Amazon Translate 배치 번역 실행 방법

https://engine.tistory.com/140?category=1076479 

 

[프로젝트] AWS Translate 사용 방법

AWS Translate는 머신러닝 서비스인가보다.. 카테고리가 머신러닝쪽에 있었음 Amazon Translate는 텍스트 번역 서비스, 고급 머신 러닝 기술을 사용하여 우수한 품질의 번역을 온디맨드 방식으로 제공합

engine.tistory.com

 

3. 오늘 한.......................................AWS Lambda로 json 형식의 파일을 txt 파일로 변환하기

이렇게 하는 이유 : Amazon Translate는 json 형식을 지원하지 않는다고 한다. 그래서 파일 형식이 바뀌어야함!

 

람다 코드

import boto3
import json

def lambda_handler(event, context):
    s3 = boto3.client('s3')
    s31 = boto3.resource('s3')
    bucket ='<BUCKET-NAME>'
    prefix = ''
    suffix = 'json' #변환할 파일의 형식
    kwargs = {'Bucket': bucket}
    if isinstance(prefix, str):
        kwargs['Prefix'] = prefix
    list=[]
    resp = s3.list_objects_v2(**kwargs)
    contents = resp['Contents']
    for con in contents:
        if con['Key'].endswith(suffix):
            list.append(con['Key'])
            copy_source = {
                'Bucket': bucket,
                'Key': con['Key']
            }
            s31.meta.client.copy(copy_source, bucket, con['Key'].split('.')[0]+'.txt') #변환하고 싶은 파일의 형식
            s3.delete_object(Bucket=bucket, Key=con['Key'])
    return list

간단하다. 그저 버킷에 나의 버킷이름을 써주고

만약 폴더라면 '버킷이름/폴더이름' 이렇게 하면됨

suffix에 변환할 파일의 형식을 지정해준다.

그리고 meta어쩌구에 변환하고 싶은 파일의 형식을 넣으면 된다!

 

그렇게 하면

 

이렇게 생긴 객체가 text.json 집중!

 

이렇게 text.txt로 변환한다

 

그리고 이 파일로 Amazon Translate를 돌리면 된다 끗!!

 

 

보충할 점 :

Amazon Transcribe 실행 할 람다함수를 더 커스텀화 하기

변환된 json 파일을 자동으로 가져오거나 트리거 시키거나 SNS 알림을 추가해서 Lambda를 알아서 실행시켜보기

Amazon Translate를 자동으로 실행시키는 법

json 파일에서 특정 구문만 떼어내서 변역기 돌리기

스크립트 파일을 영상에 직접입히기 등등

 

아직도 갈 길이 멀다

난 어느정도 온걸까

아마 1cm도 움직이지 않은건가 싶다

 

하지만 움직이긴 움직인거니까^^..,,

더 다양한 걸 해봐야지

 

팀장오빠 왈 : 모른다고 바로 검색해서 보지 않고, 진짜진짜 더이상 못 풀겠고 이건 걍 외워서 풀어야겠다 할 때 답을 봐야해

 

seeya

728x90