Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STAC, Collection and Workspace handling in openEO #485

Merged
merged 5 commits into from
Oct 21, 2024
Merged

Conversation

m-mohr
Copy link
Member

@m-mohr m-mohr commented Dec 8, 2023

Related

Changelog

  • Added export_collection
  • Added export_workspace
  • Added stac_modify
  • save_results: Returns the STAC resource instead of boolean true

`save_results` returns the STAC resource instead of boolean `true` Open-EO/openeo-api#376
proposals/stac_update.json Outdated Show resolved Hide resolved
@jdries
Copy link
Contributor

jdries commented Dec 11, 2023

So for my use case of storing metadata of jobs in an existing STAC collection, I would use export_collection?
This collection can then optionally expose a STAC api I assume, as this is already foreseen.
By default, this would be a private collection? Do we already have a way to make such a collection public?
Sharing within a group would perhaps be via signed url?

@m-mohr
Copy link
Member Author

m-mohr commented Dec 11, 2023

@jdries

So for my use case of storing metadata of jobs in an existing STAC collection, I would use export_collection?

  • If you want to store it as an openEO Collection (i.e. exposed via /collections, usable via load_collection): export_collection
  • If you just want to have a STAC Collection on cloud storage somewhere (usable via load_stac): export_workspace (if your backend exports STAC Collections for batch job results, otherwise it would be an Item)

This collection can then optionally expose a STAC api I assume, as this is already foreseen.

export_collection would automatically expose this through the openEO API (i.e. /collections), which can optionally have the STAC API Items endpoints (i.e. /collections/:id/items).

By default, this would be a private collection?

Yes, by default this is only accessible after authentication from the user that created the collection.

Do we already have a way to make such a collection public?
Sharing within a group would perhaps be via signed url?

No, I'd like to generally target sharing in a common manner across all openEO resource types.

We pretty much have defined the behavior for making resources public (happy to adopt the public flag as implemented by VITO and signed URLs as documented in batch job results). We don't have anything more specific for users or groups. Both will need separate work items (a smaller one for public sharing, and a larger one for user/group based sharing). Unfortunately, there's currently no funding foreseen for this in any project afaik.

@m-mohr
Copy link
Member Author

m-mohr commented Sep 9, 2024

Any further reviews? @soxofaan @jdries @GeraldIr @clausmichele @dthiex
Otherwise, I'd merge this soon.

@m-mohr m-mohr linked an issue Sep 9, 2024 that may be closed by this pull request
meta/implementation.md Outdated Show resolved Hide resolved
proposals/export_collection.json Show resolved Hide resolved
proposals/stac_modify.json Show resolved Hide resolved
@clausmichele
Copy link
Member

Any further reviews? @soxofaan @jdries @GeraldIr @clausmichele @clausmichele Otherwise, I'd merge this soon.

Comments added, thanks for tagging me and my twin @clausmichele for a double review

Co-authored-by: Matthias Mohr <[email protected]>
@jdries
Copy link
Contributor

jdries commented Sep 9, 2024

@bossie you implemented export_workspace, did we have any remarks on the process description?
Can you perhaps also check stac_modify? As we also plan to implement that one.

@jdries
Copy link
Contributor

jdries commented Sep 15, 2024

Here's a next step in how I plan to use this to export openEO results directly into a stac api:

  • save_result -> generates static stac
  • stac_modify -> update metadata as needed
  • export_workspace(merge="https://openeo.stac.vito.be/.../my_user_collection", workspace="my_workspace")

For this to work, the openeo service needs to have permission to write into the referenced stac collection, or a presigned url with write permission needs to be provided. (A presigned url mechanism for writing is not part of the stac spec afaik,...)

@m-mohr m-mohr merged commit 3744511 into draft Oct 21, 2024
2 checks passed
@m-mohr m-mohr deleted the stac-subtype branch October 21, 2024 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

export_to_workspace
4 participants