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 Polly を使用して録音した音声をAmazon S3 にアップロードします

シナリオ

この例では、一連のNode.jsモジュールを使用して、AmazonS3クライアントクラスのこれらのメソッドを使用して「Amazon Polly」(Amazon Polly)を使用して録音されたオーディオをAmazonS3に自動的にアップロードします。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。

注記

この例では 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 テンプレートは、 AWS CDK で利用可能な GitHubを使用して生成されました。の詳細については AWS CDK、AWS Cloud Development Kit (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 Command Reference guide (コマンドリファレンスガイド)および「AWS CloudFormation ユーザーガイド」を参照してください。

  4. AWS CloudFormation 管理コンソールに移動し、スタック を選択し、スタック名を選択し、リソースタブを選択して、作成されたリソースのリストを表示します。

    AWS CloudFormation リソース

Amazon Polly を使用して録音した音声をAmazon S3 にアップロードします

polly_synthesize_to_s3.js というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定してください。コードに を入力します。REGION、および BUCKET_NAME。 Amazon Polly にアクセスするには、Pollyクライアントサービスオブジェクトを作成します。置換 "IDENTITY_POOL_ID" この例用に作成した Amazon Cognito ID プールのサンプルページIdentityPoolIdから を使用します。これは、各クライアントオブジェクトにも渡されます。

Amazon PollyクライアントサービスオブジェクトのStartSpeechSynthesisCommandメソッドを呼び出して音声メッセージを合成し、AmazonS3バケットにアップロードします。

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確認できます。