From 7ec2824670bae240d73af63d810e0c946ae6981a Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 16 Oct 2019 17:17:05 +0100 Subject: Sort book list in lspipeline by modified date --- aws.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'aws.go') diff --git a/aws.go b/aws.go index 0127d6e..5a037ff 100644 --- a/aws.go +++ b/aws.go @@ -27,6 +27,11 @@ type InstanceDetails struct { Id, Name, Ip, Spot, Type, State, LaunchTime string } +type ObjMeta struct { + Name string + Date time.Time +} + type AwsConn struct { // these need to be set before running Init() Region string @@ -231,6 +236,20 @@ func (a *AwsConn) ListObjects(bucket string, prefix string) ([]string, error) { return names, err } +func (a *AwsConn) ListObjectsWithMeta(bucket string, prefix string) ([]ObjMeta, error) { + var objs []ObjMeta + err := a.s3svc.ListObjectsV2Pages(&s3.ListObjectsV2Input{ + Bucket: aws.String(bucket), + Prefix: aws.String(prefix), + }, func(page *s3.ListObjectsV2Output, last bool) bool { + for _, r := range page.Contents { + objs = append(objs, ObjMeta{Name: *r.Key, Date: *r.LastModified}) + } + return true + }) + return objs, err +} + func (a *AwsConn) AddToQueue(url string, msg string) error { _, err := a.sqssvc.SendMessage(&sqs.SendMessageInput{ MessageBody: &msg, -- cgit v1.2.1-24-ge1ad