Reference-FS's target filesystem must have same value of asynchronous #1939
Unanswered
robertbridgart
asked this question in
Q&A
Replies: 1 comment
-
|
Have you moved to using zarr 3? That is, essentially, the big change that the async checks were designed to cope with. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Using an older version of fsspec from last year (v2024.10.0), I used to run code which could, in a Python Notebook, create a reference file system (which points to a kerchunk file system stored in parquet format which is hosted on a HTTPS server with basic authentication requirements) and then use its map with xarray to create and use a lazy-loaded Dataset object to read the underlying data files. Both the parquet index file system files and the data files (NetCDFs) to which they point, are both hosted on the same HTTPS server with its authorization requirement (a header x-api-key key/value being passed in to authenticate all requests). I created and set the target and remote of this reference file system to https with the header containing the auth password as in the code below:
This used to work fine. I believe that at some point a check was added to fsspec which ensures that all connected file systems are either synchronous or asynchronous and refuses to proceed unless they all match. Fair enough.
My issue is that since the filesystem asynchronous check came in, my original code has stopped working. I cannot figure out how to create a reference file system with both target https and remote https header options at the same time as trying to force either synchronous or asynchronous behavior on the entire system. No matter what I do, or how I try to tell the reference filesystem or the target /remote systems to be sync or async (i.e. matching), it either results in an exception about the mismatch, or an authentication error when attempting the read from the server being raised (presumably because somewhere internally it has either minted a new remote and lost my header option or ignores it?).
Can someone please explain to me how I can get past this issue and or what I'm doing wrong here? Thanks in advance for any insights.
Beta Was this translation helpful? Give feedback.
All reactions