Получите двоичные данные от устройства хранения данных S3 до AWS.NET в C#

Я протестировал большинство включенных образцов в SDK AWS для.NET, и они все хорошо работают.

Я могу ПОМЕСТИТЬ объекты, Объекты списка и УДАЛИТЬ объекты в блоке, но... позволяю, говорят, что я удаляю оригинал и хочу синхронизировать те файлы, отсутствующие локально?

Я хотел бы сделать ПОЛУЧИТЬ объект (ключом/именем и блоком ofcause). Я могу найти объект, но как я считываю двоичные данные от S3 до API?

Я должен записать свою собственную обертку SOAP для этого или есть ли некоторый образец для этого "здесь"?: o)

В надежде на образец. Это не должно терпеть execeptions и т.д. Я просто должен видеть основные части, который соединяет, получает и хранит файл назад на моем ASP.net или проекте C#.

Кто-либо???

5
задан Jonik 2 May 2010 в 20:59
поделиться

1 ответ

Вот пример:

string bucketName = "bucket";
string key = "some/key/name.bin";
string dest = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "name.bin");

using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(AWSAccessKeyID, AWSSecretAccessKeyID))
{
    GetObjectRequest getObjectRequest = new GetObjectRequest().WithBucketName(bucketName).WithKey(key);

    using (S3Response getObjectResponse = client.GetObject(getObjectRequest))
    {
        if (!File.Exists(dest))
        {
            using (Stream s = getObjectResponse.ResponseStream)
            {
                using (FileStream fs = new FileStream(dest, FileMode.Create, FileAccess.Write))
                {
                    byte[] data = new byte[32768];
                    int bytesRead = 0;
                    do
                    {
                        bytesRead = s.Read(data, 0, data.Length);
                        fs.Write(data, 0, bytesRead);
                    }
                    while (bytesRead > 0);
                    fs.Flush();
                }
            }
        }
    }
}
15
ответ дан 18 December 2019 в 11:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: