ヤマムギ

growing hard days.

*

テキストをAmazon PollyでMP3に変換してS3に格納(AWS Lambda Python)

   


Google Calendar Twilio ReminderのテキストをAmazon Pollyを使ってMP3ファイルに変換してS3に格納する部分の説明です。

AWS側の設定

MP3格納用S3バケット作成

Pollyのためというよりも後でTwilioでアクセスするための設定です。

Static website hostingを有効にします。

バケットポリシーを作成します。

ライフサイクルを設定します

生成されたMP3ファイルは不要になるのでライフサイクルルールで削除します。

Lambda実行用ロールの作成

ここで作ったロールをLambdaに設定します。

雑ですが、管理ポリシーに以下を設定しました。

  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonPollyFullAccess

あと、インラインポリシーに下記を設定しました。
これがないとログが出力されませんでした。

AWS Lambdaの環境変数

変数名 設定値
BUCKET_NAME Amazon Pollyが生成するMP3ファイルを格納するS3バケット名
BUCKET_REGION ap-northeast-1など S3バケットがあるリージョン名
VOICE_ID Amazon PollyのボイスID 日本語なので Mizuki
POLLY_REGION Amazon Pollyのリージョン名

ソースコードの説明

AWSのサンプルコードをベースにして少し変えてます。

set_twiml

  • Twilioを実行するためのTwiml(Twilio独自のXML)をS3に格納しています。
  • ContentType=’application/xml’ がないとTwilioが認識出来ません。

set_mp3

  • PollyがテキストをMP3ファイルに変換してS3に格納しています。
  • synthesize_speech にテキストを渡して変換結果を受け取っています。
  • response[“AudioStream”]をput_objectでS3にContentType = ‘audio/mpeg’で書き込んでいます。

最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , ,

ad

ad

  関連記事

Redmineの添付ファイルをS3に同期する

RedmineをAWS上で構築するデザインを考えていて、せっかくなので冗長化しよ …

ヤマムギ vol.9 (AWS)EC2からAWS CLIコマンドを実行してみようハンズオン 手順

このブログは2020/5/5に開催しました、「ヤマムギ vol.9 (AWS)E …

ALBの重み付けルーティングでカナリアリリースをしてみました

当ブログのAMIの更新と、ALBターゲットグループのヘルスチェックを変更したかっ …

ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定する

何のためでもいいのですが、ドメインは持っているけど、そのドメイン宛にメールを送ら …

kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする

こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんな …

API Gatewayから直接 DynamoDBに書き込む

やりたいこと WebページでOやXを押したときに、どっちを押したかをDynamo …

RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する

先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、 …

RDSの拡張モニタリングを有効にしました

RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …

Microsoft TeamsのOutgoing Webhooksを使ってAWS Lambda(Python), Amazon API Gatewayとbot

Microsoft Teamsの検証その2、Slackで実装しているbotも対応 …

VPC環境でLambdaを100同時実行してプライベートIPアドレスを確認した

2019年9月発表のLambda 関数が VPC 環境で改善されます以降に、VP …