blobby
This commit is contained in:
parent
c5fb46c60d
commit
8f9b66f6c8
|
@ -14,3 +14,4 @@ go-clone-test/go-clone-test
|
||||||
go-clone-test/goclonetest
|
go-clone-test/goclonetest
|
||||||
go-clone-test/goclonetesttest
|
go-clone-test/goclonetesttest
|
||||||
going2git/going2git
|
going2git/going2git
|
||||||
|
blobby/blobby
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
VERSION = $(shell git describe --tags)
|
||||||
|
GUIVERSION = $(shell git describe --tags)
|
||||||
|
BUILDTIME = $(shell date +%s)
|
||||||
|
|
||||||
|
all: build
|
||||||
|
|
||||||
|
build: goimports
|
||||||
|
GO111MODULE=off go build -v \
|
||||||
|
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
||||||
|
|
||||||
|
vet:
|
||||||
|
GO111MODULE=off go vet
|
||||||
|
|
||||||
|
goimports:
|
||||||
|
goimports -w *.go
|
||||||
|
# // to globally reset paths:
|
||||||
|
# // gofmt -w -r '"go.wit.com/gui/gadgets" -> "go.wit.com/lib/gadgets"' *.go
|
||||||
|
|
||||||
|
gocui: build
|
||||||
|
reset
|
||||||
|
./go-clone-test --gui gocui
|
||||||
|
|
||||||
|
install: goimports
|
||||||
|
GO111MODULE=off go install \
|
||||||
|
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
||||||
|
|
||||||
|
force: build
|
||||||
|
./go-clone-test --force
|
|
@ -0,0 +1,55 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gocloud.dev/blob"
|
||||||
|
// _ "gocloud.dev/blob/<driver>"
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
_ "gocloud.dev/blob/mysql"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
bucket, err := blob.OpenBucket(context.Background(), "<driver-url>")
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("could not open bucket: %v", err)
|
||||||
|
}
|
||||||
|
defer bucket.Close()
|
||||||
|
// bucket is a *blob.Bucket; see usage below
|
||||||
|
|
||||||
|
// You can wrap a *blob.Bucket to always operate on a subfolder of the bucket using blob.PrefixedBucket:
|
||||||
|
|
||||||
|
// import "gocloud.dev/blob"
|
||||||
|
|
||||||
|
// Wrap the bucket using blob.PrefixedBucket.
|
||||||
|
// The prefix should end with "/", so that the resulting bucket operates
|
||||||
|
// in a subfolder.
|
||||||
|
bucket = blob.PrefixedBucket(bucket, "a/subfolder/")
|
||||||
|
|
||||||
|
// The original bucket is no longer usable; it has been closed.
|
||||||
|
// The wrapped bucket should be closed when done.
|
||||||
|
defer bucket.Close()
|
||||||
|
|
||||||
|
// Bucket operations on <key> will be translated to "a/subfolder/<key>".
|
||||||
|
|
||||||
|
// Alternatively, you can configure the prefix directly in the blob.OpenBucket URL:
|
||||||
|
|
||||||
|
/*
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"gocloud.dev/blob"
|
||||||
|
)
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Connect to a bucket using a URL, using the "prefix" query parameter to
|
||||||
|
// target a subfolder in the bucket.
|
||||||
|
// The prefix should end with "/", so that the resulting bucket operates
|
||||||
|
// in a subfolder.
|
||||||
|
b, err := blob.OpenBucket(ctx, "mem://?prefix=a/subfolder/")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer b.Close()
|
||||||
|
|
||||||
|
// Bucket operations on <key> will be translated to "a/subfolder/<key>".
|
||||||
|
}
|
|
@ -5,7 +5,7 @@ BUILDTIME = $(shell date +%s)
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
build: goimports
|
build: goimports
|
||||||
GO111MODULE=off go build \
|
GO111MODULE=off go build -v \
|
||||||
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
|
||||||
|
|
||||||
vet:
|
vet:
|
||||||
|
|
Loading…
Reference in New Issue