Amazon Polly 예 - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API 참조 가이드는 버전 3(V3)의 모든 API 작업에 대해 AWS SDK for JavaScript 자세히 설명합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Polly 예

JavaScript code example that applies to Node.js execution

이 Node.js 코드 예제는 다음을 보여 줍니다.

  • Amazon S3에 Amazon Polly를 사용해 녹음한 오디오 업로드

시나리오

이 예에서는 일련의 Node.js 모듈에서 Amazon S3 클라이언트 클래스의 다음 메서드를 사용하여 Amazon Polly를 사용해 녹음한 오디오를 Amazon S3에 자동으로 업로드합니다.

사전 필수 작업

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.

  • 의 지침에 따라 노드 JavaScript 예제를 실행하도록 프로젝트 환경을 설정합니다 GitHub.

  • 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 보안 인증 파일 제공에 대한 자세한 내용은 AWS SDKs 및 도구 참조 가이드공유 구성 및 보안 인증 파일을 참조하세요.

  • 인증되지 않은 AWS Identity and Access Management (IAM) Amazon Cognito 사용자 역할 polly:SynthesizeSpeech permissions와 IAM 해당 역할이 연결된 Amazon Cognito 자격 증명 풀을 생성합니다. 아래 를 사용하여 AWS 리소스 생성 AWS CloudFormation 단원에서는 이러한 리소스를 생성하는 방법을 설명합니다.

참고

이 예제에서는 Amazon Cognito 를 사용하지만 Amazon Cognito를 사용하지 않는 경우 AWS 사용자에게 다음 IAM 권한 정책이 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Resource": "*", "Effect": "Allow" }, { "Action": "polly:SynthesizeSpeech", "Resource": "*", "Effect": "Allow" } ] }

를 사용하여 AWS 리소스 생성 AWS CloudFormation

AWS CloudFormation 를 사용하면 AWS 인프라 배포를 예측 가능하고 반복적으로 생성하고 프로비저닝할 수 있습니다. 에 대한 자세한 내용은 AWS CloudFormation 사용 설명서 섹션을 AWS CloudFormation참조하세요.

AWS CloudFormation 스택을 생성하려면:

  1. AWS CLI 사용 설명서의 AWS CLI 다음 지침을 설치하고 구성합니다.

  2. 프로젝트 폴더의 루트 디렉터리setup.yaml에 라는 파일을 생성하고 여기에 GitHub 있는 콘텐츠를 복사합니다.

    참고

    AWS CloudFormation 템플릿은 에서 GitHub 사용할 수 있는 를 AWS CDK 사용하여 생성되었습니다. 에 대한 자세한 내용은 AWS Cloud Development Kit (AWS CDK) 개발자 안내서를 AWS CDK참조하세요.

  3. 명령줄에서 다음 명령을 실행하고 STACK_NAME 스택의 고유한 이름이 있습니다.

    중요

    스택 이름은 AWS 리전 및 AWS 계정 내에서 고유해야 합니다. 최대 128자까지 지정할 수 있으며 숫자와 하이픈을 사용할 수 있습니다.

    aws cloudformation create-stack --stack-name STACK_NAME --template-body file://setup.yaml --capabilities CAPABILITY_IAM

    create-stack 명령 파라미터에 대한 자세한 내용은 AWS CLI 명령 참조 가이드AWS CloudFormation 사용 설명서를 참조하세요.

  4. AWS CloudFormation 관리 콘솔로 이동하여 스택 을 선택하고 스택 이름을 선택한 다음 리소스 탭을 선택하여 생성된 리소스 목록을 봅니다.

    AWS CloudFormation 리소스

Amazon S3에 Amazon Polly를 사용해 녹음한 오디오 업로드

파일 이름이 polly_synthesize_to_s3.js인 Node.js 모듈을 생성합니다. 필요한 클라이언트 및 패키지 설치를 포함하여 이전에 표시된 SDK 대로 를 구성해야 합니다. 코드에 REGION, 및 BUCKET_NAME. Amazon Polly 에 액세스하려면 Polly 클라이언트 서비스 객체를 생성합니다. Replace "IDENTITY_POOL_ID" 이 예제IdentityPoolId에서 생성한 Amazon Cognito 자격 증명 풀의 샘플 페이지에서 를 사용합니다. 이는 각 클라이언트 객체에도 전달됩니다.

Amazon Polly 클라이언트 서비스 객체의 StartSpeechSynthesisCommand 메서드를 직접적으로 호출하여 음성 메시지를 합성해서 Amazon S3 버킷에 업로드합니다.

import { StartSpeechSynthesisTaskCommand } from "@aws-sdk/client-polly"; import { pollyClient } from "./libs/pollyClient.js"; // Create the parameters const params = { OutputFormat: "mp3", OutputS3BucketName: "videoanalyzerbucket", Text: "Hello David, How are you?", TextType: "text", VoiceId: "Joanna", SampleRate: "22050", }; const run = async () => { try { await pollyClient.send(new StartSpeechSynthesisTaskCommand(params)); console.log(`Success, audio file added to ${params.OutputS3BucketName}`); } catch (err) { console.log("Error putting object", err); } }; run();

이 샘플 코드는 에서 GitHub 확인할 수 있습니다.