Я получаю исключение при попытке доступа к файлу на Amazon AWS S3 через PreSignedURL
.
Вот как я генерирую PreSignedURL
:
GetPreSignedUrlRequest getPreSignedUrlRequest = new GetPreSignedUrlRequest
{
BucketName = bucketName,
Key = fileKey,
Verb = HttpVerb.GET,
Expires = DateTime.Now.AddMinutes(5)
};
Uri signedUrl = new Uri(new AmazonS3Client(
Credentials.GetCredentials(), RegionEndpoint.USEast1)
.GetPreSignedURL(getPreSignedUrlRequest));
И вот как я делаю свой запрос к Amazon Transcribe (для которого требуется URL-адрес Amazon S3):
AmazonTranscribeServiceClient amazonTSClient =
new AmazonTranscribeServiceClient(
Credentials.GetCredentials(),
RegionEndpoint.USEast1);
StartTranscriptionJobRequest transcriptionJobRequest
= new StartTranscriptionJobRequest
{
TranscriptionJobName = transcriptionJobName,
Media = new Media { MediaFileUri = signedUrl },
MediaFormat = MediaFormat.Flac,
LanguageCode = "en-us",
Settings = new Settings { MaxSpeakerLabels = 2 }
};
Task<StartTranscriptionJobResponse> transcriptionJobResponseTask
= amazonTSClient.StartTranscriptionJobAsync(transcriptionJobRequest);
transcriptionJobResponseTask.Wait(); // A System.AggregateException is thrown here
Сведения об исключении:
System.AggregateException: «Произошла одна или несколько ошибок.(Указанный вами URI не указывает на объект S3. Убедитесь, что этот объект существует, и повторите запрос.) '
Я пытался получить доступ к файлу из своего браузера с помощьюсгенерировал URL и смог его скачать.
Кто-нибудь знает, откуда могла появиться ошибка?