AWS SDK for JavaScript V3 API リファレンスガイドでは、AWS SDK for JavaScript バージョン3 (V3) のすべての API オペレーションについて詳しく説明します。
Amazon Pollyの例
この Node.js コード例は以下を示しています。
-
Amazon Polly を使用して録音した音声をAmazon S3 にアップロードします
シナリオ
この例では、一連のNode.jsモジュールを使用して、AmazonS3クライアントクラスのこれらのメソッドを使用して「Amazon Polly」(Amazon Polly)を使用して録音されたオーディオをAmazonS3に自動的にアップロードします。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
-
GitHub
の手順に従って、Node JavaScriptの例を実行するようにプロジェクト環境を設定します。 -
ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、「AWS SDK とツールのリファレンスガイド」の「共有設定ファイルおよび認証情報ファイル」を参照してください。
AWS Identity and Access Management (IAM) 認証されていない Amazon Cognito ユーザーロールポーリー: SynthesizeSpeech アクセス許可、および IAM ロールがアタッチされた Amazon Cognito アイデンティティプールを作成します。CloudFormationを使用してAWSリソースを作成しますのセクションでは、これらのリソースを作成する方法について以下のことを説明します。
注記
この例では Amazon Cognito を使用していますが、Amazon Cognito を使用していない場合は、AWSのユーザーには以下の IAM アクセス権限ポリシーが必要です
CloudFormationを使用してAWSリソースを作成します
CloudFormation は、AWS インフラストラクチャデプロイを予想可能および繰り返し作成し、プロビジョニングすることができます。CloudFormation については、「AWS CloudFormation User Guide」を参照してください。
CloudFormation スタックを作成するには、
「AWS CLI User Guide」(ユーザーガイド)の手順に従ってAWS CLIをインストールして設定します。
プロジェクトフォルダのルートディレクトリで、
setup.yamlという名前のファイルを作成し、それにこの GitHubにコンテンツをコピーします。 注記
CloudFormation テンプレートは、この GitHub
で公開されている AWS CDK を使用して生成されました。AWS CDKの詳細については、AWS Cloud Development Kit (AWS CDK)デベロッパーガイドを参照してください。 コマンドラインから以下のコマンドを実行し、「
STACK_NAME」をスタックの一意の名前に置き換えます。重要
スタック名は、AWS 地域および AWS アカウント内で一意である必要があります。最大 128 文字まで指定でき、数字とハイフンを使用できます。
aws cloudformation create-stack --stack-name STACK_NAME --template-body file://setup.yaml --capabilities CAPABILITY_IAMcreate-stackコマンドパラメータの詳細については、 AWS CLI Command Reference guide(コマンドリファレンスガイド)およびCloudFormationUser Guide(ユーザーガイド)を参照してください。-
CloudFormationマネジメントコンソールに移動し、Stacksを選択し、スタック名を選択し、Resourcesタブを選択して、作成されたリソースのリストを表示します。
Amazon Polly を使用して録音した音声をAmazon S3 にアップロードします
polly_synthesize_to_s3.jsファイル名を使用してNode.jsモジュールを作成します。前に示したように、必要なクライアントとパッケージのインストールを含むSDKが設定されていることを確認してください。コードに、REGION 、およびBUCKET_NAMEを入力します。Amazon Pollyにアクセスするには、Pollyのクライアントのサービスオブジェクトを作成します。「IDENTITY_POOL_ID」を、この例で作成したAmazon CognitoIDプールのサンプルページから 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