Skip to content

Commit 5774705

Browse files
update readme
1 parent 3fb8be5 commit 5774705

File tree

1 file changed

+62
-31
lines changed

1 file changed

+62
-31
lines changed

README.md

Lines changed: 62 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,81 @@
1-
# Template Extension Specification
1+
# Storage Extension Specification
22

3-
- **Title:** Template
4-
- **Identifier:** <https://stac-extensions.github.io/template/v1.0.0/schema.json>
5-
- **Field Name Prefix:** template
6-
- **Scope:** Item, Collection
3+
- **Title:** Storage
4+
- **Identifier:** <https://stac-extensions.github.io/storage/v1.0.0/schema.json>
5+
- **Field Name Prefix:** storage
6+
- **Scope:** Item, Asset
77
- **Extension [Maturity Classification](https://github.com/radiantearth/stac-spec/tree/master/extensions/README.md#extension-maturity):** Proposal
8-
- **Owner**: @your-gh-handles @person2
8+
- **Owner**: @davidraleigh
99

10-
This document explains the Template Extension to the [SpatioTemporal Asset Catalog](https://github.com/radiantearth/stac-spec) (STAC) specification.
11-
This is the place to add a short introduction.
10+
This document explains the Storage Extension to the [SpatioTemporal Asset Catalog](https://github.com/radiantearth/stac-spec) (STAC) specification. This extension adds fields to STAC Item and Asset objects, allowing for details related to cloud storage access and costs to be associated with a STAC Item. This extension does not cover NFS solutions provided by PaaS cloud companies.
1211

1312
- Examples:
14-
- [Item example](examples/item.json): Shows the basic usage of the extension in a STAC Item
15-
- [Collection example](examples/collection.json): Shows the basic usage of the extension in a STAC Collection
13+
- [Item example 1](examples/example-naip.json): Shows the basic usage of the extension in a STAC Item.
14+
- [Item example 2](examples/example-nsl.json): Another example of basic usage.
1615
- [JSON Schema](json-schema/schema.json)
1716
- [Changelog](./CHANGELOG.md)
1817

19-
## Item Properties and Collection Fields
18+
## Item Fields
19+
| Field Name | Type | Description |
20+
| ----------- | ------ | ----------- |
21+
| storage:min_tier_duration | integer | number of days for the shortest time tier restriction on access of an asset. |
22+
| storage:max_tier_duration | integer | number of days for the longest time tier restrictions on access of an asset. |
23+
| storage:archived | bool | descriptor for whether the data is "properly" archived according to implementers discretion |
24+
25+
## Asset Fields
2026

21-
| Field Name | Type | Description |
22-
| -------------------- | ------------------------- | ----------- |
23-
| template:new_field | string | **REQUIRED**. Describe the required field... |
24-
| template:xyz | [XYZ Object](#xyz-object) | Describe the field... |
25-
| template:another_one | \[number] | Describe the field... |
27+
| Field Name | Type | Description |
28+
| ----------- | ------ | ----------- |
29+
| storage:platform | string | (REQUIRED) The [cloud provider](#providers) where data is stored |
30+
| storage:manager | string | The entity in charge of managing the data. |
31+
| storage:region | string | (REQUIRED) The region where the data is stored. Relevant to speed of access and inter region egress costs (as defined by PaaS provider) |
32+
| storage:bucket | string | The bucket for the asset, used along with object path |
33+
| storage:object_path | string | The object_path for the asset, used along with bucket |
34+
| storage:requester_pays | bool | (REQUIRED) Is the data requester pays or is it data manager/cloud provider pays |
35+
| storage:tier | string | The title for the tier type (as defined by PaaS provider) |
36+
| storage:tier_duration | integer | Minimum storage duration (in days) required before additional fees |
37+
| storage:date_stored | string | Date and time the corresponding asset placed into the current storage tier (relevant for tier_duration > 0). Format is RFC 3339. |
38+
| storage:first_byte_latency | string | approximate time unit (milliseconds, minutes or hours) for accessing first byte of data |
2639

2740
### Additional Field Information
2841

29-
#### template:new_field
42+
#### Providers
43+
Currently this document is arranged to support object storage users of the following PaaS solutions:
3044

31-
This is a much more detailed description of the field `template:new_field`...
45+
- Alibaba
46+
- AWS
47+
- Azure
48+
- Google Cloud Platform
49+
- IBM
50+
- Oracle
3251

33-
### XYZ Object
52+
#### Cloud Provider Storage Tiers
3453

35-
This is the introduction for the purpose and the content of the XYZ Object...
54+
| Duration | Google Cloud | AWS | Azure | IBM | Oracle | Alibaba |
55+
| ------------- | ------------- | --------------------- | ------------- |------------- | --------- | --------- |
56+
| 0 days | STANDARD | Standard | Hot Tier | Standard | Standard | Standard |
57+
| 30 days | NEARLINE | Standard-IA | Cool Tier | Vault | N/A | Infrequent Access |
58+
| 60 days | N/A | N/A | N/A | N/A | N/A | Archive |
59+
| 90 days | COLDLINE | Glacier | N/A | Cold Vault | Archive | N/A |
60+
| 180 days | N/A | Glacier Deep Archive | Archive Tier | N/A | N/A | Cold Archive |
61+
| 365 days | ARCHIVE | N/A | N/A | N/A | N/A | N/A |
3662

37-
| Field Name | Type | Description |
38-
| ----------- | ------ | ----------- |
39-
| x | number | **REQUIRED**. Describe the required field... |
40-
| y | number | **REQUIRED**. Describe the required field... |
41-
| z | number | **REQUIRED**. Describe the required field... |
63+
References for the above table:
64+
65+
IBM: <https://cloud.ibm.com/objectstorage/create#pricing>
66+
67+
Google Cloud: <https://cloud.google.com/storage/docs/storage-classes>
68+
69+
Microsoft: <https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-storage-tiers>
70+
71+
AWS: <https://aws.amazon.com/s3/storage-classes/>
4272

43-
## Relation types
73+
Oracle:
74+
- <https://www.oracle.com/cloud/storage/pricing.html>
75+
- <https://www.oracle.com/cloud/storage/archive-storage-faq.html>
4476

45-
The following types should be used as applicable `rel` types in the
46-
[Link Object](https://github.com/radiantearth/stac-spec/tree/master/item-spec/item-spec.md#link-object).
77+
Alibaba:
78+
- <https://www.alibabacloud.com/product/oss/pricing>
79+
- <https://www.alibabacloud.com/help/doc-detail/51374.htm>
4780

48-
| Type | Description |
49-
| ------------------- | ----------- |
50-
| fancy-rel-type | This link points to a fancy resource. |
81+
All timestamps MUST be formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

0 commit comments

Comments
 (0)