【问题标题】:Is there any method that get the upload date of an Amazon S3 object是否有任何方法可以获取 Amazon S3 对象的上传日期
【发布时间】:2019-05-04 20:57:15
【问题描述】:

我正在开发一个将文件上传到 s3 存储桶的应用程序,我想使用适用于 .net 的 aws sdk 列出对象及其上传日期。 有没有这样的代码?

【问题讨论】:

    标签: c# amazon-web-services amazon-s3 aws-sdk-net


    【解决方案1】:

    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"]; 
                    }
    

    【讨论】:

    • 是的,我有权限,但我现在试试看变量“entry”是否包含上传日期
    • @DrissElk S3 默认不保存upload date,只保存last modified date。我已经修改了原来的答案,请看一下
    • @DmitryBogdanovich 是的,我确实在你的帖子中找到了答案(你分享的链接)我已经接近答案了,我只需要对课程做一些修改就可以了,谢谢
    • @DrissElk;请注意,感谢表示为赞成票?
    猜你喜欢
    • 2019-09-14
    • 1970-01-01
    • 2018-09-27
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2012-09-12
    相关资源
    最近更新 更多