However, I was not able to access the data using h5pyd. In fact, I was encountering the same problem as described in issue 60.
Interestingly, the following command
f = h5pyd.File('my_file_in_root.hdfgroup.org', 'r', endpoint='http://127.0.0.1:5000')f_uuid = f.id.uuid
would return a different f_uuid than root_uuid from a direct HTTP request as above.
Eventually, I realized that the image on Docker Hub is 2 years old, and thus probably outdated. I proceeded with manual installation of h5serv as described here. And then created a new docker image manually using the local installation of h5serv. With this new docker image, everything seems to work properly.
I encountered an issue with the h5serv docker image available on Docker Hub.
With this docker image, I was able to access data in h5 files through direct HTTP requests:
domain = 'my_file_in_root.hdfgroup.org'
headers = {'host': domain}
endpoint = 'http://127.0.0.1:5000'
# get root uuid
req = endpoint + '/'
rsp = requests.get(req, headers=headers)
domain_json = rsp.json()
root_uuid = domain_json['root']
However, I was not able to access the data using h5pyd. In fact, I was encountering the same problem as described in issue 60.
Interestingly, the following command
f = h5pyd.File('my_file_in_root.hdfgroup.org', 'r', endpoint='http://127.0.0.1:5000')
f_uuid = f.id.uuid
would return a different f_uuid than root_uuid from a direct HTTP request as above.
Eventually, I realized that the image on Docker Hub is 2 years old, and thus probably outdated. I proceeded with manual installation of h5serv as described here. And then created a new docker image manually using the local installation of h5serv. With this new docker image, everything seems to work properly.