LoginSignup
0
1

More than 3 years have passed since last update.

Amazon Transcribeを使って音声ファイルを文字越しする

Posted at

Amazon Transcribeが日本語に対応していたので使ってみたかった。
Terraformスクリプト全体はこちらにあります。

全体概要

音声ファイルをS3のバケットにアップロードすることをトリガーにして、S3がLambdaを実行し、LambdaはS3にアップロードされたファイル名をキーにしてTranscribeを呼び出す。

Google.png

Terraformのディレクトリ構成

以下のようにディレクトリをきっている。
terraformのディレクトリの切り方はいっつも迷う・・・・

root
  ┣ iam      # 権限まわり
  ┣ lambda   
  ┗ s3
  main.tf
  variable.tf # これは各自作る

注意どころ

何も考えないでterraformを記述していくと、以下のエラーが出る。

[ERROR] BadRequestException: An error occurred (BadRequestException) when calling the StartTranscriptionJob operation: The S3 URI that you provided can't be accessed. Make sure that you have read permission and try your request again.

TranscribeがS3へアクセスできないということは分かったが、解決するのにてこずった。
一連の流れのトリガーとなるS3へS3へのアクセス権を与えるという、卵と鶏のような権限をアタッチする必要がある。

lambda/role.tf
resource "aws_iam_role_policy_attachment" "transcribe_access_s3_policy_attachment" {
  policy_arn = aws_iam_policy.transcribe_access_s3_policy.arn
  role = aws_iam_role.execute_transcribe_role.name
}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1