- Title: Storage
- Identifier: https://stac-extensions.github.io/storage/v1.0.0/schema.json
- Field Name Prefix: storage
- Scope: Item, Collection
- Extension Maturity Classification: Pilot
- Owner: @davidraleigh @matthewhanson
This document explains the Storage Extension to the SpatioTemporal Asset Catalog (STAC) specification. It allows adding details related to cloud storage access and costs to be associated with STAC Assets. This extension does not cover NFS solutions provided by PaaS cloud companies.
- Examples:
- Item example 1: Shows the basic usage of the extension in a STAC Item.
- Item example 2: Another example of basic usage.
- JSON Schema
- Changelog
The fields in the table below can be used in these parts of STAC documents:
- Catalogs
- Collections
- Item Properties (incl. Summaries in Collections)
- Assets (for both Collections and Items, incl. Item Asset Definitions in Collections)
- Links
Field Name | Type | Description |
---|---|---|
storage:platform | string | The cloud provider where data is stored |
storage:region | string | The region where the data is stored. Relevant to speed of access and inter region egress costs (as defined by PaaS provider) |
storage:requester_pays | boolean | Is the data requester pays or is it data manager/cloud provider pays. Defaults to false |
storage:tier | string | The title for the tier type (as defined by PaaS provider) |
While these are all valid properties on an Item, they will typically be defined per-asset. If a field applies equally to all assets (e.g., storage:platform=AWS if all assets are on AWS), then it should be specified in Item properties.
Currently this document is arranged to support object storage users of the following PaaS solutions:
- Alibaba Cloud (Aliyun):
ALIBABA
- Amazon AWS:
AWS
- Microsoft Azure:
AZURE
- Google Cloud Platform:
GCP
- IBM Cloud:
IBM
- Oracle Cloud:
ORACLE
- All other PaaS solutions:
OTHER
The upper-cased values are meant to be used for storage:platform
.
Minimum Duration | Google Cloud Platform | Amazon AWS | Microsoft Azure | IBM Cloud | Oracle Cloud | Alibaba Cloud |
---|---|---|---|---|---|---|
0 (Auto-Tier) | Intelligent-Tiering | Smart Tier | ||||
0 days | STANDARD | Standard | hot | Standard | Standard | Standard |
30 days | NEARLINE | Standard-IA, One Zone-IA | cool | Vault | Infrequent Access | Infrequent Access |
60 days | Archive | |||||
90 days | COLDLINE | Glacier | Cold Vault | Archive | ||
180 days | Glacier Deep Archive | archive | Cold Archive | |||
365 days | ARCHIVE |
All contributions are subject to the STAC Specification Code of Conduct. For contributions, please follow the STAC specification contributing guide Instructions for running tests are copied here for convenience.
The same checks that run as checks on PR's are part of the repository and can be run locally to verify that changes are valid.
To run tests locally, you'll need npm
, which is a standard part of any node.js installation.
First you'll need to install everything with npm once. Just navigate to the root of this repository and on your command line run:
npm install
Then to check markdown formatting and test the examples against the JSON schema, you can run:
npm test
This will spit out the same texts that you see online, and you can then go and fix your markdown or examples.
If the tests reveal formatting problems with the examples, you can fix them with:
npm run format-examples