E3SM-Project / zstash

Long term HPSS archiving tool for E3SM
BSD 3-Clause "New" or "Revised" License
8 stars 11 forks source link

Explore Globus functionality with HTTP #200

Open forsyth2 opened 2 years ago

forsyth2 commented 2 years ago

See if our Globus extract feature can handle (or be made to handle) extracting data from a website rather than a directory on another machine.

golaz commented 2 years ago

According to the Globus FAQ, Globus does not support transfer over http:

https://docs.globus.org/faq/transfer-sharing/#whats_the_difference_between_globus_and_gridftp

@lukaszlacinski: can you confirm?

If that is the case, we should consider adding another backend method to zstash to enable other protocols, such as http, ftp. We could do read-only initially. Maybe Python urllib or requests. See https://stackoverflow.com/questions/2018026/what-are-the-differences-between-the-urllib-urllib2-urllib3-and-requests-modul

@xylar: do you have any recommendation for a Python library to download files using http/ftp?

xylar commented 2 years ago

I definitely prefer requests. https://docs.python-requests.org/en/latest/

xylar commented 2 years ago

Here's some example usage in your compass package: https://github.com/MPAS-Dev/compass/blob/e8f02e72d56da31957fae2ec5cdb2643d7a53bc5/compass/io.py#L8