Я получил исключение при доступе к файлу на AWS S3 через PreSignedURL - PullRequest
0 голосов
/ 16 мая 2018

Я получаю исключение при попытке доступа к файлу на 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 и смог его скачать.

Кто-нибудь знает, откуда могла появиться ошибка?

...