Не удается пройти аутентификацию в Amazon Polly

Я пытался привести пример использования polly (https://aws.amazon.com/polly/)

Я не хочу скачивать никакие библиотеки. Я просто хочу сделать простой http-запрос с моими учетными данными для веб-сервисов amazon и вернуть аудио. Это возможно?

Я уже создал пользователя в IAM, и он выглядит так:

введите здесь описание изображения

Это то, что у меня есть до сих пор, и оно НЕ преобразует текст в речь. Думаю проблема в аутентификации. :/

static void Main(string[] args)
    {
        var accessKeyId = @"I place in here my access key";
        var secretKey = @"I place in here my secret key";

        //Amazon.Runtime.AWSCredentials credentials = new 
        AmazonPollyClient client = new AmazonPollyClient(accessKeyId, secretKey);

        // Create describe voices request.
        DescribeVoicesRequest describeVoicesRequest = new DescribeVoicesRequest();
        // Synchronously ask Amazon Polly to describe available TTS voices.
        DescribeVoicesResponse describeVoicesResult = client.DescribeVoices(describeVoicesRequest);
        List<Voice> voices = describeVoicesResult.Voices;


        // Create speech synthesis request.
        SynthesizeSpeechRequest synthesizeSpeechPresignRequest = new SynthesizeSpeechRequest();
        // Text
        synthesizeSpeechPresignRequest.Text = "Hello world!";
        // Select voice for synthesis.
        synthesizeSpeechPresignRequest.VoiceId = voices[0].Id;
        // Set format to MP3.
        synthesizeSpeechPresignRequest.OutputFormat = OutputFormat.Mp3;
        // Get the presigned URL for synthesized speech audio stream.
        var presignedSynthesizeSpeechUrl = client.SynthesizeSpeechAsync(synthesizeSpeechPresignRequest).GetAwaiter().GetResult();
        using (FileStream output = File.OpenWrite("hello_world.mp3"))
        {
            presignedSynthesizeSpeechUrl.AudioStream.CopyTo(output);
        }

        Console.Read();
    }

Обратите внимание, что для компиляции этого примера мне пришлось добавить пакет nuget AWSSDK.Polly


person Tono Nam    schedule 05.04.2017    source источник
comment
it does not work не является корректным описанием проблемы. Более конкретно.   -  person tnw    schedule 05.04.2017
comment
Есть ли у пользователя IAM политика разрешений, позволяющая ему использовать Polly?   -  person Jacob Krall    schedule 05.04.2017
comment
Да, у него есть полный доступ к Полли. Я только что подписался на веб-сервисы Amazon. Может быть потому, что у меня бесплатный аккаунт?   -  person Tono Nam    schedule 05.04.2017


Ответы (1)


Вам необходимо указать регион для вызова учетных данных в качестве третьего параметра, т. е. RegionEndpoint.USEast1.

I.E:

AmazonPollyClient client = new AmazonPollyClient("AKI5ZLVN6QXO123OJA", "4sYnPuAzMk/k07JA456728VbTpX4F5/FAKEGDiAKm", RegionEndpoint.USEast1);

(Это не имеет ничего общего с тем, что это бесплатная учетная запись.)

person E.J. Brennan    schedule 05.04.2017