Проверьте дату изменения объекта AWS S3 с помощью c# .Net SDK Ver3C#

Место общения программистов C#
Ответить
Anonymous
 Проверьте дату изменения объекта AWS S3 с помощью c# .Net SDK Ver3

Сообщение Anonymous »

Несколько лет назад я написал класс условной загрузки/выгрузки AWS S3 LastModified на Java. Теперь мне нужно сделать то же самое на C#. Мой код Java — SDK v1. Текущая версия AWS Java SDK — v2. .Net — это SDK v3. Мне не удалось найти много примеров для извлечения даты LastModified из объекта S3. Но судя по тому, что я могу найти, похоже, что AWS на некоторое время предлагает совершенно разные решения в v1, v2 и v3 с ObjectMetaData, которые, очевидно, исчезли и были заменены ObjectAttributes. Помощник Google AI говорит использовать HeadRequest, но я не могу найти его в документации AWS v3. А объекты, которые задокументированы в AWS v3 SDK для .Net, выдают мне необнаруженные ошибки в Visual Studio. Я понимаю эволюцию и устаревание кода. Но я думал, что устаревшие классы/решения обычно будут существовать в течение одного или двух выпусков. Однако на данный момент я не могу заставить VS найти все классы/методы для любого из рекомендуемых решений из любой версии SDK, включая v3.
Я уверен, что есть ясный и простой ответ. Но со всеми совершенно разными решениями, в которых, похоже, никогда не указывается, над какими версиями SDK они работают, а над какими не работают... Мне просто нужна помощь, чтобы разобраться во всем этом. Насколько я могу судить, у меня установлена ​​последняя версия SDK v3 и все последние версии .net-пакетов (и VS 2022).
Вот то, что «кажется» последним решением используя объекты и методы, определенные в документации SDK v3. Но VS утверждает, что все они не определены, включая метод GetObjectAttributes объекта AmazonS3Client. Может кто-нибудь объяснить, что я делаю не так с этим кодом, или просто опубликовать код, который следует использовать сейчас (и который будет работать). Я потратил на это гораздо больше времени, чем ожидал. Спасибо.
использую Amazon.S3.Model;
public DateTime getLastModified(String bucketName, String keyName)
{
var request = new GetObjectAttributesRequest
{
BucketName = bucketName,
Key = keyName
};
GetObjectAttributesResponse response = getS3Client().GetObjectAttributes(request);
return( response.LastModified);
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... t-sdk-ver3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»