2014-11-30

google`AppEngine file system intro

2.20: news.adda/co/google`AppEngine file system intro:
G'AppEngine`concepts:
. projects store objects in buckets
which are like folders but non-nestable;
and have names that are unique across
not just the project but all of g'storage .
. immutability applies only to objects
not filenames, [symbolic vs hard links].
Object names can contain
any combination less than 1024 bytes,
of Unicode characters (UTF-8 encoded)
including "/"
so that you can use old pathnames
while google sees the entire path as one filename,
as the only hierarchy is
(g'storage, some-bucket, some-pathname).
For most operations you can use either of
the following URLs to access an object:
storage.googleapis.com/≺bucket>/≺object>
≺bucket>.storage.googleapis.com/≺object>
www.googleapis.com/storage/v1beta2/b/≺bucket>/o/≺object>?alt=media (JSON API)

. An exception to read-after-delete consistency
is for publicly accessible objects for which
Cache-Control metadata has not been explicitly
set to disable caching of the object.
In this case, the deleted object can
be read until the cache expires.
authentication:
You need to use SSL (HTTPS) when you use OAuth 2.0 authentication.
If you are using Python, you should also make sure that
you are using an HTTPS library that validates certificates.
The Python 2.x httplib does not do this
but the library used by gsutil does.
gsutil:
. gsutil is a Python (command line) app
that lets you operate on Google Cloud Storage
(Creating and deleting buckets;
Uploading, downloading, and deleting objects;
Listing buckets and objects;
Moving, copying, and renaming objects;
Editing object and bucket ACLs).