Hello everyone!
I am currently trying to build my first h5serv server to host some HDF5 files that are meant to be accessed from my python-written web application through h5pyd.
I have set up a h5serv server using Docker with this image: https://hub.docker.com/r/hdfgroup/h5serv/. I launched the server with command:
docker run -p 5000:5000 -d -v <mydata>:/data hdfgroup/h5serv
where <mydata>
is a path to a folder that contains a file my_file.h5.
I verified that my_file.h5 is available to the h5serv server by executing
docker container exec -it container_name bash
and checking that file data/my_file.h5 is present.
Then, I opened my python IDE, imported h5pyd, and tried to use h5pyd to open my_file.h5.
Executing
f = h5pyd.File('my_file.hdfgroup.org', 'r', endpoint='http://172.17.0.1:5000/')
returns OSError: [Errno 400] No route matches.
Executing
f = h5pyd.File('http://172.17.0.1:5000/', 'r', endpoint='http://172.17.0.1:5000/')
seems to return a valid file: <HDF5 file “” (mode r)>.
When I subsequently execute a command
list(f.keys())
I get a list [‘my_file’].
However, I cannot access the data inside my_file.h5 by doing something like f['my_file']
. Executing
list(f['my_file'].keys())
again returns a list [‘my_file’]. (Even though content of the file my_file.h5 is something completely different.)
Do you have any suggestions on what am I doing wrong? Thanks a lot for your thoughts!