diff --git a/CHANGELOG.md b/CHANGELOG.md index a935e61..4eb8a43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- `storage:schemes`, `storage:ref` and Storage Scheme Object +- `storage:schemes`, `storage:refs` and Storage Scheme Object - Support the storage extension in Links - Support for the Alternate Assets Extension - Support for other storage providers, including custom S3 hosts @@ -29,7 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The extension is a framework for storage providers, it doesn't strictly define the individual providers. - The storage providers are grouped in `storage:schemes` and located in the Item Properties, Collections or Catalog metadata -- Assets and Links reference the storage schemes by key in `storage:ref` +- Assets and Links reference the storage schemes by key in `storage:refs` ### Removed diff --git a/README.md b/README.md index 02e4ccd..eeeb223 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,9 @@ The fields in the table below can be used in these parts of STAC documents: - [x] Links - [x] [Alternate Assets Object](https://github.com/stac-extensions/alternate-assets?tab=readme-ov-file#alternate-asset-object) -| Field Name | Type | Description | -| ------------- | ------- | ----------- | -| `storage:ref` | string | A property that specifies which schemes in `storage:schemes` may be used to access an Asset or Link. Each value must be one of the keys defined in `storage:schemes`. | +| Field Name | Type | Description | +| -------------- | ------- | ----------- | +| `storage:refs` | string | A property that specifies which schemes in `storage:schemes` may be used to access an Asset or Link. Each value must be one of the keys defined in `storage:schemes`. | ### Storage Scheme Object diff --git a/examples/catalog-link.json b/examples/catalog-link.json index 0bb9141..442189a 100644 --- a/examples/catalog-link.json +++ b/examples/catalog-link.json @@ -25,7 +25,9 @@ "href": "s3://mybucket/project/documentation.pdf", "type": "application/pdf", "rel": "about", - "storage:ref": "aws" + "storage:refs": [ + "aws" + ] } ] } \ No newline at end of file diff --git a/examples/collection.json b/examples/collection.json index 270e660..26b606e 100644 --- a/examples/collection.json +++ b/examples/collection.json @@ -28,7 +28,9 @@ "title": "STAC Items as GeoParquet", "href": "s3://mybucket/project/items.parquet", "type": "application/vnd.apache.parquet", - "storage:ref": "aws", + "storage:refs": [ + "aws" + ], "auth:refs": [ "aws" ] @@ -44,7 +46,9 @@ "href": "s3://mybucket/project/documentation.pdf", "type": "application/pdf", "rel": "about", - "storage:ref": "aws", + "storage:refs": [ + "aws" + ], "auth:refs": [ "aws" ] diff --git a/examples/item-naip.json b/examples/item-naip.json index 6af3f26..26a2727 100644 --- a/examples/item-naip.json +++ b/examples/item-naip.json @@ -66,16 +66,22 @@ "CO_GEOTIFF_RGB": { "href": "s3://naip-visualization/tx/2016/100cm/rgb/30097/m_3009743_sw_14_1_20160928.tif", "type": "image/tiff; application=geotiff; profile=cloud-optimized", - "storage:ref": "aws-std", + "storage:refs": [ + "aws-std" + ], "alternate": { "href": "s3://mybucket/tx/2016/100cm/rgb/30097/m_3009743_sw_14_1_20160928.tif", - "storage:ref": "minio" + "storage:refs": [ + "minio" + ] } }, "GEOTIFF_AZURE_RGBIR": { "href": "https://naip-nsl.blob.core.windows.net/tx/2016/100cm/rgb/30097/m_3009743_sw_14_1_20160928.tif", "type": "image/tiff; application=geotiff", - "storage:ref": "az-wus2-ar" + "storage:refs": [ + "az-wus2-ar" + ] } }, "links": [ diff --git a/json-schema/schema.json b/json-schema/schema.json index 9ab8a25..44c265f 100644 --- a/json-schema/schema.json +++ b/json-schema/schema.json @@ -129,9 +129,12 @@ "refs_field": { "type": "object", "properties": { - "storage:ref": { - "type": "string", - "minLength": 1 + "storage:refs": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + } } }, "patternProperties": {