#AWS Transcribe使おうとしたらエラー出た…
表題の通りの出オチなんですが、
https://dotnet-developer-dojo.workshop.aws/lab7-ai-ml/transcribe.html
上記のURLを参考にしながら、
音声ファイルをS3にアップして、アップしたファイルをTranscribeでテキスト化するというのをやってたんですが
実行すると以下のエラーが出て困っておりました。
####エラー内容
要求した名前は有効ですが、要求された種類のデータは見つかりませんでした。
このエラーだけ見るとなんかファイルの形式が違うとか、アクセス権が無いとかと思ってしまい
その点で色々調べていたんですが解決せず
transcribe.cs
using (var transcribeClient = new AmazonTranscribeServiceClient(
"IDだよ",
"アクセスキーだよ",
Amazon.RegionEndpoint.APNortheast3))
{
var media = new Media()
{
MediaFileUri = bucketUri
};
var transcriptionJobRequest = new StartTranscriptionJobRequest()
{
LanguageCode = "ja-JP",
Media = media,
MediaFormat = MediaFormat.Wav,
TranscriptionJobName = "transcribe-job",
};
// ★ここでエラーが出たよ★
var transcriptionJobResponse = await transcribeClient.StartTranscriptionJobAsync(transcriptionJobRequest);
if (transcriptionJobResponse.HttpStatusCode != HttpStatusCode.OK)
{
Console.WriteLine("成功したよ");
}
}
##原因わかりました
S3のバケットを
アジアパシフィック (大阪) ap-northeast-3
にしてたんですが、
Transcribeに大阪無いじゃん!!
というわけで、S3のバケットを東京で作りなおして、ソースを修正したら無事動きました。
transcribe.cs
using (var transcribeClient = new AmazonTranscribeServiceClient(
"IDだよ",
"アクセスキーだよ",
Amazon.RegionEndpoint.APNortheast1)) // ←ここ直す
わかってみればその通りのうっかりでしたが、エラー内容がわかりにくい気が…
以上です。