gcs

package module
v3.0.0-...-53bc828 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

README

Services Test Gcs

gcs

Google Cloud Storage service support for go-storage.

Install

go get github.com/rgglez/go-storage/services/gcs/v3

Usage

import (
	"log"

	_ "github.com/rgglez/go-storage/services/gcs/v3"
	"github.com/rgglez/go-storage/v5/services"
)

func main() {
	store, err := services.NewStoragerFromString("gcs://bucket_name/path/to/workdir?credential=file:<absolute_path_to_token_file>&project_id=<google_cloud_project_id>")
	if err != nil {
		log.Fatal(err)
	}
	
	// Write data from io.Reader into hello.txt
	n, err := store.Write("hello.txt", r, length)
}

Documentation

Overview

Package gcs provided support for Google Cloud Storage (https://cloud.google.com/storage/)

Code generated by go generate via cmd/definitions; DO NOT EDIT.

Index

Constants

View Source
const (
	StorageClassStandard = "STANDARD"
	StorageClassNearLine = "NEARLINE"
	StorageClassColdLine = "COLDLINE"
	StorageClassArchive  = "ARCHIVE"
)

All available storage classes are listed here.

View Source
const Type = "gcs"

Type is the type for gcs

Variables

This section is empty.

Functions

func New

func New(pairs ...typ.Pair) (typ.Servicer, typ.Storager, error)

New will create both Servicer and Storager.

func NewServicer

func NewServicer(pairs ...typ.Pair) (typ.Servicer, error)

NewServicer will create Servicer only.

func NewStorager

func NewStorager(pairs ...typ.Pair) (typ.Storager, error)

NewStorager will create Storager only.

func WithDefaultStorageClass

func WithDefaultStorageClass(v string) types.Pair

WithDefaultStorageClass will apply default_storage_class value to Options.

default value for storage_class

func WithEncryptionKey

func WithEncryptionKey(v []byte) types.Pair

WithEncryptionKey will apply encryption_key value to Options.

is the customer's 32-byte AES-256 key

func WithKmsKeyName

func WithKmsKeyName(v string) types.Pair

WithKmsKeyName will apply kms_key_name value to Options.

is the Cloud KMS key resource. For example, `projects/my-pet-project/locations/us-east1/keyRings/my-key-ring/cryptoKeys/my-key`.

Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for more details.

func WithProjectID

func WithProjectID(v string) types.Pair

WithProjectID will apply project_id value to Options.

func WithStorageClass

func WithStorageClass(v string) types.Pair

WithStorageClass will apply storage_class value to Options.

Types

type DefaultServicePairs deprecated

type DefaultServicePairs = types.DefaultServicePairs

Deprecated: Use types.DefaultServicePairs instead.

type DefaultStoragePairs deprecated

type DefaultStoragePairs = types.DefaultStoragePairs

Deprecated: Use types.DefaultStoragePairs instead.

type Factory

type Factory struct {
	Credential          string
	DefaultStorageClass string
	EnableVirtualDir    bool
	Name                string
	ProjectID           string
	WorkDir             string
}

func (*Factory) FromMap

func (f *Factory) FromMap(m map[string]interface{}) (err error)

func (*Factory) FromString

func (f *Factory) FromString(conn string) (err error)

func (*Factory) NewServicer

func (f *Factory) NewServicer() (srv types.Servicer, err error)

func (*Factory) NewStorager

func (f *Factory) NewStorager() (sto types.Storager, err error)

func (*Factory) WithPairs

func (f *Factory) WithPairs(ps ...types.Pair) (err error)

type ObjectSystemMetadata

type ObjectSystemMetadata struct {
	EncryptionKeySha256 string
	StorageClass        string
}

ObjectSystemMetadata stores system metadata for object.

func GetObjectSystemMetadata

func GetObjectSystemMetadata(o *types.Object) ObjectSystemMetadata

GetObjectSystemMetadata will get ObjectSystemMetadata from Object.

- This function should not be called by service implementer. - The returning ObjectServiceMetadata is read only and should not be modified.

type Service

type Service struct {
	typ.UnimplementedServicer
	// contains filtered or unexported fields
}

Service is the gcs config.

func (*Service) Create

func (s *Service) Create(name string, pairs ...types.Pair) (store types.Storager, err error)

func (*Service) CreateWithContext

func (s *Service) CreateWithContext(ctx context.Context, name string, pairs ...types.Pair) (store types.Storager, err error)

func (*Service) Delete

func (s *Service) Delete(name string, pairs ...types.Pair) (err error)

func (*Service) DeleteWithContext

func (s *Service) DeleteWithContext(ctx context.Context, name string, pairs ...types.Pair) (err error)

func (*Service) Features

func (s *Service) Features() types.ServiceFeatures

func (*Service) Get

func (s *Service) Get(name string, pairs ...types.Pair) (store types.Storager, err error)

func (*Service) GetWithContext

func (s *Service) GetWithContext(ctx context.Context, name string, pairs ...types.Pair) (store types.Storager, err error)

func (*Service) List

func (s *Service) List(pairs ...types.Pair) (sti *types.StoragerIterator, err error)

func (*Service) ListWithContext

func (s *Service) ListWithContext(ctx context.Context, pairs ...types.Pair) (sti *types.StoragerIterator, err error)

func (*Service) String

func (s *Service) String() string

String implements Servicer.String

type ServiceFeatures deprecated

type ServiceFeatures = types.ServiceFeatures

Deprecated: Use types.ServiceFeatures instead.

type Storage

type Storage struct {
	typ.UnimplementedStorager
	// contains filtered or unexported fields
}

Storage is the gcs service client.

func (*Storage) CombineBlock

func (s *Storage) CombineBlock(o *types.Object, bids []string, pairs ...types.Pair) (err error)

func (*Storage) CombineBlockWithContext

func (s *Storage) CombineBlockWithContext(ctx context.Context, o *types.Object, bids []string, pairs ...types.Pair) (err error)

func (*Storage) CommitAppend

func (s *Storage) CommitAppend(o *types.Object, pairs ...types.Pair) (err error)

func (*Storage) CommitAppendWithContext

func (s *Storage) CommitAppendWithContext(ctx context.Context, o *types.Object, pairs ...types.Pair) (err error)

func (*Storage) CompleteMultipart

func (s *Storage) CompleteMultipart(o *types.Object, parts []*types.Part, pairs ...types.Pair) (err error)

func (*Storage) CompleteMultipartWithContext

func (s *Storage) CompleteMultipartWithContext(ctx context.Context, o *types.Object, parts []*types.Part, pairs ...types.Pair) (err error)

func (*Storage) Copy

func (s *Storage) Copy(src string, dst string, pairs ...types.Pair) (err error)

func (*Storage) CopyWithContext

func (s *Storage) CopyWithContext(ctx context.Context, src string, dst string, pairs ...types.Pair) (err error)

func (*Storage) Create

func (s *Storage) Create(path string, pairs ...types.Pair) (o *types.Object)

func (*Storage) CreateAppend

func (s *Storage) CreateAppend(path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreateAppendWithContext

func (s *Storage) CreateAppendWithContext(ctx context.Context, path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreateBlock

func (s *Storage) CreateBlock(path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreateBlockWithContext

func (s *Storage) CreateBlockWithContext(ctx context.Context, path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreateDir

func (s *Storage) CreateDir(path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreateDirWithContext

func (s *Storage) CreateDirWithContext(ctx context.Context, path string, pairs ...types.Pair) (o *types.Object, err error)
func (s *Storage) CreateLink(path string, target string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreateLinkWithContext

func (s *Storage) CreateLinkWithContext(ctx context.Context, path string, target string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreateMultipart

func (s *Storage) CreateMultipart(path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreateMultipartWithContext

func (s *Storage) CreateMultipartWithContext(ctx context.Context, path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreatePage

func (s *Storage) CreatePage(path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) CreatePageWithContext

func (s *Storage) CreatePageWithContext(ctx context.Context, path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) Delete

func (s *Storage) Delete(path string, pairs ...types.Pair) (err error)

func (*Storage) DeleteWithContext

func (s *Storage) DeleteWithContext(ctx context.Context, path string, pairs ...types.Pair) (err error)

func (*Storage) Features

func (s *Storage) Features() types.StorageFeatures

func (*Storage) Fetch

func (s *Storage) Fetch(path string, url string, pairs ...types.Pair) (err error)

func (*Storage) FetchWithContext

func (s *Storage) FetchWithContext(ctx context.Context, path string, url string, pairs ...types.Pair) (err error)

func (*Storage) List

func (s *Storage) List(path string, pairs ...types.Pair) (oi *types.ObjectIterator, err error)

func (*Storage) ListBlock

func (s *Storage) ListBlock(o *types.Object, pairs ...types.Pair) (bi *types.BlockIterator, err error)

func (*Storage) ListBlockWithContext

func (s *Storage) ListBlockWithContext(ctx context.Context, o *types.Object, pairs ...types.Pair) (bi *types.BlockIterator, err error)

func (*Storage) ListMultipart

func (s *Storage) ListMultipart(o *types.Object, pairs ...types.Pair) (pi *types.PartIterator, err error)

func (*Storage) ListMultipartWithContext

func (s *Storage) ListMultipartWithContext(ctx context.Context, o *types.Object, pairs ...types.Pair) (pi *types.PartIterator, err error)

func (*Storage) ListWithContext

func (s *Storage) ListWithContext(ctx context.Context, path string, pairs ...types.Pair) (oi *types.ObjectIterator, err error)

func (*Storage) Metadata

func (s *Storage) Metadata(pairs ...types.Pair) (meta *types.StorageMeta)

func (*Storage) Move

func (s *Storage) Move(src string, dst string, pairs ...types.Pair) (err error)

func (*Storage) MoveWithContext

func (s *Storage) MoveWithContext(ctx context.Context, src string, dst string, pairs ...types.Pair) (err error)

func (*Storage) QuerySignHTTPCompleteMultipart

func (s *Storage) QuerySignHTTPCompleteMultipart(o *types.Object, parts []*types.Part, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPCompleteMultipartWithContext

func (s *Storage) QuerySignHTTPCompleteMultipartWithContext(ctx context.Context, o *types.Object, parts []*types.Part, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPCreateMultipart

func (s *Storage) QuerySignHTTPCreateMultipart(path string, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPCreateMultipartWithContext

func (s *Storage) QuerySignHTTPCreateMultipartWithContext(ctx context.Context, path string, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPDelete

func (s *Storage) QuerySignHTTPDelete(path string, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPDeleteWithContext

func (s *Storage) QuerySignHTTPDeleteWithContext(ctx context.Context, path string, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPListMultipart

func (s *Storage) QuerySignHTTPListMultipart(o *types.Object, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPListMultipartWithContext

func (s *Storage) QuerySignHTTPListMultipartWithContext(ctx context.Context, o *types.Object, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPRead

func (s *Storage) QuerySignHTTPRead(path string, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPReadWithContext

func (s *Storage) QuerySignHTTPReadWithContext(ctx context.Context, path string, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPWrite

func (s *Storage) QuerySignHTTPWrite(path string, size int64, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPWriteMultipart

func (s *Storage) QuerySignHTTPWriteMultipart(o *types.Object, size int64, index int, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPWriteMultipartWithContext

func (s *Storage) QuerySignHTTPWriteMultipartWithContext(ctx context.Context, o *types.Object, size int64, index int, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPWriteWithContext

func (s *Storage) QuerySignHTTPWriteWithContext(ctx context.Context, path string, size int64, expire time.Duration, pairs ...types.Pair) (req *http.Request, err error)

func (*Storage) Read

func (s *Storage) Read(path string, w io.Writer, pairs ...types.Pair) (n int64, err error)

func (*Storage) ReadWithContext

func (s *Storage) ReadWithContext(ctx context.Context, path string, w io.Writer, pairs ...types.Pair) (n int64, err error)

func (*Storage) Stat

func (s *Storage) Stat(path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) StatWithContext

func (s *Storage) StatWithContext(ctx context.Context, path string, pairs ...types.Pair) (o *types.Object, err error)

func (*Storage) String

func (s *Storage) String() string

String implements Storager.String

func (*Storage) Write

func (s *Storage) Write(path string, r io.Reader, size int64, pairs ...types.Pair) (n int64, err error)

func (*Storage) WriteAppend

func (s *Storage) WriteAppend(o *types.Object, r io.Reader, size int64, pairs ...types.Pair) (n int64, err error)

func (*Storage) WriteAppendWithContext

func (s *Storage) WriteAppendWithContext(ctx context.Context, o *types.Object, r io.Reader, size int64, pairs ...types.Pair) (n int64, err error)

func (*Storage) WriteBlock

func (s *Storage) WriteBlock(o *types.Object, r io.Reader, size int64, bid string, pairs ...types.Pair) (n int64, err error)

func (*Storage) WriteBlockWithContext

func (s *Storage) WriteBlockWithContext(ctx context.Context, o *types.Object, r io.Reader, size int64, bid string, pairs ...types.Pair) (n int64, err error)

func (*Storage) WriteMultipart

func (s *Storage) WriteMultipart(o *types.Object, r io.Reader, size int64, index int, pairs ...types.Pair) (n int64, part *types.Part, err error)

func (*Storage) WriteMultipartWithContext

func (s *Storage) WriteMultipartWithContext(ctx context.Context, o *types.Object, r io.Reader, size int64, index int, pairs ...types.Pair) (n int64, part *types.Part, err error)

func (*Storage) WritePage

func (s *Storage) WritePage(o *types.Object, r io.Reader, size int64, offset int64, pairs ...types.Pair) (n int64, err error)

func (*Storage) WritePageWithContext

func (s *Storage) WritePageWithContext(ctx context.Context, o *types.Object, r io.Reader, size int64, offset int64, pairs ...types.Pair) (n int64, err error)

func (*Storage) WriteWithContext

func (s *Storage) WriteWithContext(ctx context.Context, path string, r io.Reader, size int64, pairs ...types.Pair) (n int64, err error)

type StorageFeatures deprecated

type StorageFeatures = types.StorageFeatures

Deprecated: Use types.StorageFeatures instead.

type StorageSystemMetadata

type StorageSystemMetadata struct {
}

StorageSystemMetadata stores system metadata for object.

func GetStorageSystemMetadata

func GetStorageSystemMetadata(s *types.StorageMeta) StorageSystemMetadata

GetStorageSystemMetadata will get StorageSystemMetadata from Storage.

- This function should not be called by service implementer. - The returning StorageServiceMetadata is read only and should not be modified.

Directories

Path Synopsis
internal
cmd

Jump to

Keyboard shortcuts

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