diff options
author | Nick White <git@njw.name> | 2019-10-16 17:17:05 +0100 |
---|---|---|
committer | Nick White <git@njw.name> | 2019-10-16 17:17:05 +0100 |
commit | 7ec2824670bae240d73af63d810e0c946ae6981a (patch) | |
tree | 843977fe0e73ca49e03fa6d191a4593f6baa13f2 /aws.go | |
parent | ff809ad480061d9efce5ce33cda1e877cf63c936 (diff) |
Sort book list in lspipeline by modified date
Diffstat (limited to 'aws.go')
-rw-r--r-- | aws.go | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -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, |