Documentation ¶
Overview ¶
Package memblob provides an in-memory blob implementation. Use OpenBucket to construct a *blob.Bucket.
URLs ¶
For blob.OpenBucket memblob registers for the scheme "mem". To customize the URL opener, or for more details on the URL format, see URLOpener. See https://gocloud.dev/concepts/urls/ for background information.
As ¶
memblob does not support any types for As.
Example (OpenBucketFromURL) ¶
package main import ( "context" "fmt" "log" "gocloud.dev/blob" ) func main() { // blob.OpenBucket creates a *blob.Bucket from a URL. b, err := blob.OpenBucket(context.Background(), "mem://") if err != nil { log.Fatal(err) } defer b.Close() // Now we can use b to read or write files to the container. ctx := context.Background() err = b.WriteAll(ctx, "my-key", []byte("hello world"), nil) if err != nil { log.Fatal(err) } data, err := b.ReadAll(ctx, "my-key") if err != nil { log.Fatal(err) } fmt.Println(string(data)) }
Output: hello world
Index ¶
Examples ¶
Constants ¶
View Source
const Scheme = "mem"
Scheme is the URL scheme memblob registers its URLOpener under on blob.DefaultMux.
Variables ¶
This section is empty.
Functions ¶
func OpenBucket ¶
OpenBucket creates a *blob.Bucket backed by memory.
Example ¶
package main import ( "context" "fmt" "log" "gocloud.dev/blob/memblob" ) func main() { // PRAGMA: This example is used on gocloud.dev; PRAGMA comments adjust how it is shown and can be ignored. // PRAGMA: On gocloud.dev, hide lines until the next blank line. ctx := context.Background() // Create an in-memory bucket. bucket := memblob.OpenBucket(nil) defer bucket.Close() // Now we can use bucket to read or write files to the bucket. err := bucket.WriteAll(ctx, "my-key", []byte("hello world"), nil) if err != nil { log.Fatal(err) } data, err := bucket.ReadAll(ctx, "my-key") if err != nil { log.Fatal(err) } fmt.Println(string(data)) }
Output: hello world
Types ¶
Click to show internal directories.
Click to hide internal directories.