storage library

This library provides access to Google Cloud Storage.

Google Cloud Storage is an object store for binary objects. Each object has a set of metadata attached to it. For more information on Google Cloud Storage see https://developers.google.com/storage/.

There are two main concepts in Google Cloud Storage: Buckets and Objects. A bucket is a container for objects and objects are the actual binary objects.

The API has two main classes for dealing with buckets and objects.

The class Storage is the main API class providing access to working with buckets. This is the 'bucket service' interface.

The class Bucket provide access to working with objects in a specific bucket. This is the 'object service' interface.

Both buckets have objects, have names. The bucket namespace is flat and global across all projects. This means that a bucket is always addressable using its name without requiring further context.

Within buckets the object namespace is also flat. Object are not organized hierarchical. However, as object names allow the slash / character this is often used to simulate a hierarchical structure based on common prefixes.

This package uses relative and absolute names to refer to objects. A relative name is just the object name within a bucket, and requires the context of a bucket to be used. A relative name just looks like this:

object_name

An absolute name includes the bucket name and uses the gs:// prefix also used by the gsutil tool. An absolute name looks like this.

gs://bucket_name/object_name

In most cases relative names are used. Absolute names are typically only used for operations involving objects in different buckets.

For most of the APIs in this library which take instances of other classes from this library it is the assumption that the actual implementations provided here are used.

Classes

AccountScope
An ACL scope for an entity identified by an individual email address.
Acl
An ACL (Access Control List) describes access rights to buckets and objects.
AclEntry
An ACL entry specifies that an entity has a specific access permission.
AclPermission
Permissions for individual scopes in an ACL.
AclScope
An ACL scope specifies an entity for which a permission applies.
AllAuthenticatedScope
ACL scope for a all authenticated users.
AllUsersScope
ACL scope for a all users.
Bucket
Access to operations on a specific cloud storage bucket.
BucketDirectoryEntry
Entry in Bucket.list representing a directory given the delimiter passed.
BucketEntry
Result from List objects in a bucket.
BucketInfo
Information on a bucket.
BucketObjectEntry
Entry in Bucket.list representing an object.
DomainScope
An ACL scope for an entity identified by a domain name.
GroupScope
An ACL scope for an entity identified by an Google Groups email.
ObjectGeneration
Generational information on an object.
ObjectInfo
Information on a specific object.
ObjectMetadata
Access to object metadata.
OpaqueScope
An ACL scope for an unsupported scope.
Page<T>
A single page of paged results from a query.
PredefinedAcl
Definition of predefined ACLs.
ProjectScope
An ACL scope for an project related entity.
Storage
Access to Cloud Storage
StorageIdScope
An ACL scope for an entity identified by a 'Google Storage ID'.
StreamFromPages<T>
Helper class to turn a series of pages into a stream.

Properties

storageService Storage
Access the Storage object available in the current service scope.
no setter

Functions

registerStorageService(Storage storage) → void
Registers the storage object within the current service scope.

Typedefs

FirstPageProvider<T> = Future<Page<T>> Function(int pageSize)