簡體   English   中英

AWS S3存儲桶| 確定文件的日期計數和文件的年齡

[英]AWS S3 Bucket | Determine the count of file datewise and age of the file

我需要使用C#代碼開發一項服務,以獲取存儲在S3存儲桶中的文件的按日期計數,並通過文件的使用期限對結果進行分組,然后使用以下值將數據存儲到數據庫中。 服務日期:服務運行的日期。 COUNT:文件總數。 年齡:(當前日期-文件創建日期)存儲在存儲桶中的文件隨機創建了5000個文件。我需要根據創建的日期計算計數和年齡。

假設當前日期為2016年6月28日,創建於2016年6月27日的文件為03
在2016年6月26日創建的文件為10,在2016年6月25日創建的文件為09,依此類推。 然后應在表中插入以下值,即DATEOFSERVICE,AGE,COUNT

一。(服務日期)2016年6月28日(年齡)1(計數)03二。(服務日期)2016年6月28日(年齡)2(計數)10三。(服務日期)2016年6月28日(年齡)3 (COUNT)09

直到到達最舊的創建文件。 誰能幫我發展得出年齡和年齡的邏輯。

謝謝

我認為沒有為Amazon文件創建日期屬性.Amazon文件包含上次修改(Server-side-Modified)。因此您可以查看以下代碼示例,以了解如何檢索存儲桶中的所有文件並按組進行分組修改,並使用linq按日期計數。

BasicAWSCredentials basicCredentials = new BasicAWSCredentials("yoursecretkey", "youraccesskey");
        AmazonS3Config configurationClient = new AmazonS3Config();
        configurationClient.RegionEndpoint = RegionEndpoint.EUCentral1;// region of your bucket
        try
        {
            using (AmazonS3Client clientConnection = new AmazonS3Client(basicCredentials, configurationClient))
            {
                S3DirectoryInfo source = new S3DirectoryInfo(clientConnection, "yourbucket");

                var query = source.GetFiles("*", System.IO.SearchOption.AllDirectories).GroupBy( fi => fi.LastWriteTime.ToString("dd/MM/yyyy")).Select(group => new { LastDateModify = group.Key, Count = group.Count()}).OrderBy( fi => fi.LastDateModify);
                int age = 1;
                foreach (var amazonFile in query)
                {
                    Console.WriteLine(string.Format("DATEOFSERVICE:{0} AGE:{1} COUNT:{2}", amazonFile.LastDateModify, age, amazonFile.Count));
                    age++;
                }
            }
        }
        catch (Exception ex)
        {
            // add the properly handling exception
        }

在上面的示例中,我將AWSSDK 3.1.6用於3.5 net,希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM