func()

in dth/client.go [264:291]


func (c *S3Client) ListObjects(ctx context.Context, continuationToken, prefix *string, maxKeys int32) ([]*Object, error) {

	// log.Printf("S3> list objects in bucket %s/%s from S3\n", c.bucket, *prefix)
	delimiter := ""

	output, err := c.listObjectFn(ctx, continuationToken, prefix, &delimiter, maxKeys)
	if err != nil {
		log.Printf("S3> Unable to list object in /%s - %s\n", *prefix, err.Error())
		return nil, err
	}

	length := len(output.Contents)
	result := make([]*Object, 0, length)

	for _, obj := range output.Contents {
		// log.Printf("key=%s size=%d", *obj.Key, obj.Size)
		if obj.StorageClass == "GLACIER" || obj.StorageClass == "DEEP_ARCHIVE" {
			continue
		}
		result = append(result, &Object{
			Key:  *obj.Key,
			Size: obj.Size,
		})
	}

	return result, nil

}