data

package
v0.0.0-...-d59ed34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2023 License: BSD-2-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GroupTag = "data-file-group"
)

Variables

View Source
var DataCmd = &cobra.Command{
	Use:   "data",
	Short: "subcommand for managing data files",
}

DataCmd manages data files

View Source
var RefreshCmd = &cobra.Command{
	Use:   "refresh",
	Short: "updates data files in S3 storage",
	Args:  cobra.NoArgs,
	RunE: func(cmd *cobra.Command, args []string) error {
		repo, _ := cmd.Flags().GetString("repository")
		branch, _ := cmd.Flags().GetString("branch")
		subf, _ := cmd.Flags().GetString("subfolder")
		bucketPath, _ := cmd.Flags().GetString("s3-bucket-path")
		dir, err := git.CloneRepo(repo, branch)
		if err != nil {
			return err
		}
		fmap, err := newdataFileManager(subf).allFileReaders(dir)
		if err != nil {
			return err
		}
		logger := registry.GetLogger()
		for path, rd := range fmap {
			_, err := registry.GetS3Client().PutObject(
				viper.GetString("s3-bucket"),
				fmt.Sprintf("%s/%s", bucketPath, path),
				rd, -1, minio.PutObjectOptions{
					UserMetadata: map[string]string{
						GroupTag: viper.GetString("group"),
					},
				},
			)
			if err != nil {
				return err
			}
			logger.Debugf("uploaded file to path %s", path)
		}
		logger.Infof("refreshed %d data files", len(fmap))
		return nil
	},
}

RefreshCmd updates dictybase data files in S3(minio) storage

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL