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< Function(int pageSize)T> >