Description
Describe the issue linked to the documentation
In the Zarr storage guide there is an example showing how to connect to an S3 bucket anonymously and read data. This is great! Yet I think a lot of people experimenting with this feature on their local machines using minio
will have problems authenticating and testing using this example. I've combed through massive amounts of fsspec
documentation yet I can't find what keys are acceptable for this in storage_options
.
I've tried:
import zarr
import numpy as np
store = zarr.storage.FsspecStore.from_url(
'http://localhost:9000',
storage_options={
'key': 'minioadmin',
'secret': 'minioadmin'
}
)
zarr.open_group(store=store, mode='w')
along with:
storage_options={
'username': 'minioadmin',
'password': 'minioadmin'
}
I know I can get a solution working with s3fs
:
import zarr
import s3fs
import numpy as np
bucket = "buck"
name = "sample"
s3 = s3fs.S3FileSystem(
client_kwargs={"endpoint_url": "http://localhost:9000"},
key="minioadmin",
secret="minioadmin",
use_ssl=False,
)
s3store = s3fs.S3Map(root=f'{bucket}/{name}', s3=s3)
However, this is nowhere near as sleek and integrated as the Zarr docs make it seem.
Suggested fix for documentation
We're looking to avoid errors like:
TypeError: ClientSession._request() got an unexpected keyword argument 'secret'
Suggest a way we can add documentation to let users know what keys are valid in storage_options
or where auth should otherwise be specified.