S3 и .net Amazon SDK - GetObject недоступен из-за уровня защиты - PullRequest
0 голосов
/ 26 ноября 2018

Привет, ребята. Я пытаюсь загрузить файл из S3 в байтовый массив iin .net, используя c #.

. Я использую следующий метод:

var client = new AmazonS3Client(AccessKey, SecretKey, Amazon.RegionEndpoint.EUWEST2);
    using (client)
    {
        MemoryStream ms = new MemoryStream();
        GetObjectRequest getObjectRequest = new GetObjectRequest();
        getObjectRequest.BucketName = Bucketname;
        getObjectRequest.Key = Keyname;

        using (var getObjectResponse = client.GetObject(getObjectRequest))
        {
            getObjectResponse.ResponseStream.CopyTo(ms);
        }
 }

Я ссылался наОтвет stackoverflow и следовал вышеуказанному методу.

Однако я получаю следующее сообщение об ошибке:

GetObject недоступен из-за уровня защиты.

IЯ только учусь S3, я теперь запутался, если эта ошибка из-за политики корзины или области видимости !!

Спасибо:).

1 Ответ

0 голосов
/ 26 ноября 2018

Вы упомянули .NET Core: большинство API-интерфейсов AWS для .Net Core и .NET Standard предоставляют только асинхронные варианты.Вы должны использовать GetObjectAsync.

Удивительно, что Amazon представила эту несовместимость, поскольку было бы легко предоставить синхронную версию, используя код, подобный следующему:

var task = s3Client.GetObjectAsync(request);
task.Wait();
return task.Result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...