Help us shape the future of Go! Take the 2026 Go Developer Survey

gcp

package
v1.13.2 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2022 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Fixtures = func() []testutils.Fixture {
	fixtures := []testutils.Fixture{}
	for _, gcsObjectClient := range []bool{true, false} {
		for _, columnKeyClient := range []bool{true, false} {
			for _, hashPrefix := range []bool{true, false} {
				fixtures = append(fixtures, &fixture{
					name:            fmt.Sprintf("bigtable-columnkey:%v-gcsObjectClient:%v-hashPrefix:%v", columnKeyClient, gcsObjectClient, hashPrefix),
					columnKeyClient: columnKeyClient,
					gcsObjectClient: gcsObjectClient,
					hashPrefix:      hashPrefix,
				})
			}
		}
	}
	return fixtures
}()

Fixtures for unit testing GCP storage.

Functions

func HashPrefix added in v1.4.0

func HashPrefix(input string) string

HashPrefix calculates a 64bit hash of the input string and hex-encodes the result, taking care to zero pad etc.

func NewBigtableObjectClient

func NewBigtableObjectClient(ctx context.Context, cfg Config, schemaCfg chunk.SchemaConfig) (chunk.Client, error)

NewBigtableObjectClient makes a new chunk.Client that stores chunks in Bigtable.

func NewStorageClientColumnKey

func NewStorageClientColumnKey(ctx context.Context, cfg Config, schemaCfg chunk.SchemaConfig) (chunk.IndexClient, error)

NewStorageClientColumnKey returns a new v2 StorageClient.

func NewStorageClientV1

func NewStorageClientV1(ctx context.Context, cfg Config, schemaCfg chunk.SchemaConfig) (chunk.IndexClient, error)

NewStorageClientV1 returns a new v1 StorageClient.

func NewTableClient

func NewTableClient(ctx context.Context, cfg Config) (chunk.TableClient, error)

NewTableClient returns a new TableClient.

Types

type Config

type Config struct {
	Project  string `yaml:"project"`
	Instance string `yaml:"instance"`

	GRPCClientConfig grpcclient.Config `yaml:"grpc_client_config"`

	ColumnKey      bool `yaml:"-"`
	DistributeKeys bool `yaml:"-"`

	TableCacheEnabled    bool          `yaml:"table_cache_enabled"`
	TableCacheExpiration time.Duration `yaml:"table_cache_expiration"`
}

Config for a StorageClient

func (*Config) RegisterFlags

func (cfg *Config) RegisterFlags(f *flag.FlagSet)

RegisterFlags adds the flags required to config this to the given FlagSet

func (*Config) Validate added in v1.3.0

func (cfg *Config) Validate(log log.Logger) error

type GCSConfig

type GCSConfig struct {
	BucketName       string        `yaml:"bucket_name"`
	ChunkBufferSize  int           `yaml:"chunk_buffer_size"`
	RequestTimeout   time.Duration `yaml:"request_timeout"`
	EnableOpenCensus bool          `yaml:"enable_opencensus"`
}

GCSConfig is config for the GCS Chunk Client.

func (*GCSConfig) RegisterFlags

func (cfg *GCSConfig) RegisterFlags(f *flag.FlagSet)

RegisterFlags registers flags.

func (*GCSConfig) RegisterFlagsWithPrefix added in v0.7.0

func (cfg *GCSConfig) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet)

RegisterFlagsWithPrefix registers flags with prefix.

type GCSObjectClient added in v0.7.0

type GCSObjectClient struct {
	// contains filtered or unexported fields
}

func NewGCSObjectClient

func NewGCSObjectClient(ctx context.Context, cfg GCSConfig) (*GCSObjectClient, error)

NewGCSObjectClient makes a new chunk.Client that writes chunks to GCS.

func (*GCSObjectClient) DeleteObject added in v0.7.0

func (s *GCSObjectClient) DeleteObject(ctx context.Context, objectKey string) error

DeleteObject deletes the specified object key from the configured GCS bucket. If the key does not exist a generic chunk.ErrStorageObjectNotFound error is returned.

func (*GCSObjectClient) GetObject added in v0.7.0

func (s *GCSObjectClient) GetObject(ctx context.Context, objectKey string) (io.ReadCloser, error)

GetObject returns a reader for the specified object key from the configured GCS bucket. If the key does not exist a generic chunk.ErrStorageObjectNotFound error is returned.

func (*GCSObjectClient) List added in v0.7.0

func (s *GCSObjectClient) List(ctx context.Context, prefix, delimiter string) ([]chunk.StorageObject, []chunk.StorageCommonPrefix, error)

List implements chunk.ObjectClient.

func (*GCSObjectClient) PutObject added in v0.7.0

func (s *GCSObjectClient) PutObject(ctx context.Context, objectKey string, object io.ReadSeeker) error

PutObject puts the specified bytes into the configured GCS bucket at the provided key

func (*GCSObjectClient) Stop added in v0.7.0

func (s *GCSObjectClient) Stop()

Jump to

Keyboard shortcuts

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