Skip to content

Conversation

@danlooo
Copy link
Member

@danlooo danlooo commented Jul 15, 2025

This PR aims to clarify how to use cloud object storage in savedataset and mapCube. Otherwise, documentation would be spread across multiple other Julia packages, e.g., AWS, AWSS3, and Minio.

@codecov
Copy link

codecov bot commented Jul 15, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.81%. Comparing base (eb939f0) to head (03aac7c).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #514   +/-   ##
=======================================
  Coverage   68.81%   68.81%           
=======================================
  Files          14       14           
  Lines        2097     2097           
=======================================
  Hits         1443     1443           
  Misses        654      654           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

savedataset(ds; path="s3://my_bucket/my_object", driver=:zarr)
```

Note that arguments `path` and `driver` can also be used to create `OutDims` in `mapCube`, enabling writing results of a computation directly to cloud object storage.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we are trying to the transition to xmap instead of mapCube (which will be removed soon).

Copy link
Member Author

@danlooo danlooo Jul 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then we just search all doc files and adjust mapCube to xmap accordingly. Needs to be done with any file.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

currently, in the compute section we did update the examples, but we also still have the old way, so that users can start the transition. Bottom line, for now we should have both ways, then in a subsequent breaking release we will remove it.

Writing directly to S3-compatible cloud object storage is supported.
Valid credentials must be given.
Providing environmental variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` is highly recommended for username and password, respectively.
One needs to create any `AbstractAWSConfig` and activate it with `AWS.global_aws_config`, e. g. using [MinIO](https://expandingman.gitlab.io/Minio.jl/) for self-hosted storage:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe do a dummy AbstractAWSConfig object as well. Simply naming that here doesn't help much.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MinioConfig here is the AbstractAWSConfig. This is why I added the example code underneath.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh, my bad, I was thinking more about AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, new users usually don't know where to set those 😓 (even I don't know where at times).

@lazarusA lazarusA merged commit f753215 into JuliaDataCubes:master Jul 15, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants