Добавление байтов с помощью Amazon S3 .Net SDK - PullRequest
3 голосов
/ 16 марта 2011

У меня есть следующий фрагмент кода, который отлично подходит для простой загрузки файла.Но допустим, я хотел добавить к существующему файлу или просто загрузить случайные куски байтов, например первые и последние 10 байтов?Возможно ли это с официальным SDK?

PutObjectRequest request = new PutObjectRequest();

FileStream fs = new FileStream(@"C:\myFolder\MyFile.bin", FileMode.Open);
request.WithInputStream(fs);
request.WithBucketName(bucketName);
request.WithKey(keyName);
client.PutObject(request);
fs.Close();

Ответы [ 2 ]

4 голосов
/ 26 июня 2013

Этот предыдущий ответ больше не соответствует действительности. В настоящее время вы можете управлять процессом добавления, используя существующий объект в качестве начальной части загрузки из нескольких частей. Затем удалите предыдущий объект после завершения передачи.

См:

http://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingLLNetMPUapi.html

http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html

4 голосов
/ 16 марта 2011

Нет способа добавить данные к существующим объектам в S3. Вы должны перезаписать весь файл.

Хотя, говоря это, в некоторой степени это возможно при поддержке большого файла Amazon . При этом закачки разбиваются на куски и собираются на S3. Но вы должны сделать это как часть одной передачи и только для больших файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...