func listObjects()

in cmd/indexer/main.go [44:75]


func listObjects(ctx context.Context, bucket *storage.BucketHandle, prefix string) ([]string, error) {
	logger.Infow("listObjects",
		"prefix", prefix,
	)

	query := &storage.Query{Prefix: prefix}
	query.SetAttrSelection([]string{"Name"})
	iter := bucket.Objects(ctx, query)
	objects := []string{}
	for {
		attrs, err := iter.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			logger.Errorw("failed to list objects",
				"prefix", prefix,
				"error", err,
			)
			return nil, err
		}
		logger.Infow("object found",
			"name", attrs.Name,
		)
		objects = append(objects, attrs.Name)
	}
	logger.Infow("listObjects finished",
		"prefix", prefix,
		"objects", len(objects),
	)
	return objects, nil
}