버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

리전을 서울(우측 상단)로 선택하고, 언어는 영어로 진행(좌측 하단)

...


2. DynamoDB 테이블 만들기

DynamoDB는 게시물 정보와 생성된 MP3의 URL 메타 정보를 저장합니다.

  1. DynamoDB 서비스로 이동합니다.
  2. Create Table 버튼을 클릭합니다.
  3. DynamoDB 콘솔에서 NewsTable 라고 하는 단일 테이블을 만듭니다. 기본 키 id 는 문자열이고, PostNews Lambda 함수에 의해 새 레코드는 NewsTable 에 자동으로 추가 생성합니다.
  4. NoSQL인 DynamoDB를 사용하므로 스키마를 사전에 정의하지는 않겠지만, 사용하게 될 어트리뷰트가 어떤 것이 있는지 살펴 보겠습니다.

    keyvalue
    id게시물 ID (UUID로 자동 생성)
    voice오디오 파일을 생성하는데 사용된 Amazon Polly 음성
    pollyStatus처리 상태에 따라서 PROCESSING 또는 UPDATED로 구분
    originText원문 텍스트
    RequestCharacters요청한 문자 개수
    mp3UrlPolly에 의해서 생성된 mp3 접근 URL
    updateDate수정된 시간
    timbre음색 (소리의 파형)
    pitch음조 (소리의 높낮이)

    5. 테이블 생성 확인

...


3. SNS Topic 만들기

아키텍처 다이어그램에서 알 수 있듯이 텍스트에 대한 MP3 생성 요청을 비동기 적으로 수행할 수 있도록 Amazon Polly를 호출하고, 완료 처리를 UpdateNews Lambda 함수가 처리하도록 분할했습니다. 몇 가지 이유로 이 작업을 수행했습니다.

...

  1. 그렇기에 간단한 SNS 주제를 만들어 보겠습니다. SNS 서비스로 이동합니다.
  2. Create topic 메뉴를 눌러서 Topic을 생성합니다.
  3. 아래와 같이 NewsTopic 이라는 새로운 Topic을 생성합니다.
  4. 생성된 SNS는 Amazon Polly가 작업이 완료되면 알려주기 위해서 해당 Topic을 호출해야 합니다. 따라서 Topic에 대한 아마존 고유 리소스 이름을 알아야 합니다.

    정보

    아래와 같이 생성된 Topic을 클릭하여 Topic의 ARN을 복사하여 메모장에 기록해 둡니다. (사용자 별로 다르게 나옵니다. 본인의 ARN을 복사합니다.)
    Topic ARN 복사 하기: 

...

4. mp3 저장을 위한 S3 버킷 만들기

응용 프로그램에서 생성한 모든 오디오 파일을 저장하는 S3 버킷을 만들어야합니다.

  1. S3 콘솔로 이동하여 새로운 버킷을 생성합니다. 예제에서는 polly-mp3.studydev.com 이라는 버킷 이름으로 작성하지만, 실습에서는 전 세계적으로 고유한 다른 이름으로 작성해야 합니다.
  2. (옵션) Tags 정보에 Key에는 Name을 Value에는 WebApp 을 추가합니다.
  3. 외부에서 퍼블릭하게 접속해서 mp3 재생이 되도록 체크 박스를 모두 해지 합니다. (기본은 체크되어 안전하게 막혀 있음)
  4. 모든 설정이 완료되면 Create Bucket 버튼을 클릭하고 S3 버킷을 생성합니다.

...


5. IAM 역할 만들기

Lambda 함수를 만들기 전에 함수에 대한 IAM 역할을 만들어야 합니다. 역할은 함수가 상호 작용할 수 있는 AWS 서비스(API)를 지정합니다. 세 가지 Lambda 함수 모두에 대해 하나의 역할을 만듭니다. (원래 기능별로 역할을 만들지만, 예제 구현을 위해 하나로 만듭니다.)
역할을 생성하기 위해서 역할에 부여될 정책을 JSON 포맷으로 생성하고, 생성한 정책을 해당 역할에 부여합니다.

...

S3 버켓 컨텐츠 업로드 (API 수정)


테스트

Image Added