Есть ли способ получить дату загрузки объекта Amazon S3? - PullRequest
0 голосов
/ 03 мая 2019

Я разрабатываю приложение, которое загружает файлы в корзину s3, и я хочу перечислить объекты и даты их загрузки, используя aws sdk для .net.Есть ли код, который делает это?

1 Ответ

2 голосов
/ 03 мая 2019

UPD: К сожалению, S3 не сохраняет дату загрузки объекта.Он может предоставить вам lastModifiedDate, который равен «дате загрузки», только если объект не был изменен после загрузки.

Чтобы получить дату загрузки, вы должны сохранить ее во время загрузки с объектом:

                var putRequest = new PutObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName,
                    FilePath = filePath,
                    ContentType = "text/plain"
                };
                putRequest.Metadata.Add("x-upload-date", "someUploadDate");

и затем прочитать его из метаданных объекта

                GetObjectRequest request = new GetObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName
                };
                using (GetObjectResponse response = await client.GetObjectAsync(request))
                using (Stream responseStream = response.ResponseStream)
                using (StreamReader reader = new StreamReader(responseStream))
                {
                    string uploadDate = response.Metadata["x-upload-date"]; 
                }
...