obs
Huawei Obs is an object storage service on cloud.
Concepts
Object
- The real complete file or byte stream to save
- object name is the unique id in a bucket
- it’s used as part of url path. The naming restrictions are fit to url path naming restrictions.
- Access(based on version in fact)
- Object ACL:
- general control to object: read object, read/write object ACL, only users in the same account
- Object policy
- fine-grained control to object: fine-grained actions(put,delete…) on object, all users
- Object ACL:
- multi-versions
- an object can has multiple versions, each of which has an unique id.
- Whether there’s multi-version, it’s a policy set on a bucket.
- directory:
- directory is just a view. Essentially, it’s an empty object end with “/“.
- all objects in a bucket are on the same level. There’s no multi-level directory in fact.
- to create the directory view, you need to create an object with name ending with “/“ explicility, eg. “sub1/sub2/ . It will create a two-level dir in console. There’s no need to create “sub1/“ first then “sub1/sub2”.
- object actions:
- For writing, there’s only write/restricted-append/delete, no put
- basically-write-once-read-many
- upload modes:
- stream
- file
- multi-part (support breakpoint resume)
- append
Bucket
- The place to save objects
- bucket name is the unique id for one account(a tenant).
- it’s used as part of domain name on url. The naming restrictions are fit to domain naming restrictions.
- Access
- Bucket ACL:
- general control to bucket and all objects in bucket: read/put buckets, read/write bucket ACL, only users in the same account
- Bucket policy
- fine-grained control to specific objects in bucket: fine-grained actions on bucket or specific objects in bucket, all users
- Bucket ACL:
- storage type
- standard:
- quick access & high throughput. It’s used for high access requests and not so big files.
- warm:
- low access.
- cold:
- very very low access
- standard:
region
The region of nodes where the storage really happens.
signature
The signature to identify a user when accessing buckets/objects.
- ak(access key): represent a user. one user can have multi aks. It’s kind of like an user role
- sk(secret key): one-to-one corresponding with ak. The secret key used for RSA authentication & authorization.