-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Granule Data Field Returns "https" when in region s3 data are available #883
Comments
@meteodave Thanks for reporting this. I don't think this is unique to your LAADS example, as I see the same results when searching for an ICESat-2 collection in the cloud. I believe that the search_data results are only grabbing the first data access URL, which would be the HTTPS link in this case. @betolink does that sound right to you? Regardless, the s3 URL should still be found and utilized when using earthaccess.open(). So, I don't know if this is truly a bug versus an enhancement that we need to make to search_data() to provide all data access URLs that exist for the granule results, including s3. |
Thanks for stopping by the poster @meteodave it was great meeting you in person! Not a full answer but some clarifications, the We are having conversations around what should be the default, the best option so far is to assume that we are in the cloud and try the
|
Note that earthaccess 0.13.0 (earthaccess 0.13.0 pyhd8ed1ab_0 conda-forge) does not return an S3 data link in the granules output. I am running this command in AWS-US-West-2.
|
If the granule contains s3 links, they will not be shown in that output. Only HTTP links are shown. What you'll want to do is pick a granule and get the "direct" data links, something like so:
That will show you s3 links, if there are any. |
What you're seeing is a "summary" but the links are there, in fact all the metadata is in each of the results. e.g. granules[0].data_links(access="direct") we could iterate on the results to collect all these s3 links: links = [g.data_links(access="direct")[0] for g in granules] # we are assuming the granule has only one file then we could open or download these files, for this earthaccess needs to know the DAAC provider. When we pass the results directly it tries to infer this information but then we get into the situation of correctly detecting if we are in AWS or not. files = earthaccess.download(links, "./", provider="LAADS") |
Also, there's no need to be in-region when simply querying. Here's what I get running directly on my computer:
|
Is this issue already tracked somewhere, or is this a new report?
Current Behavior
I seem to be having an issue accessing LAADS data with earthaccess 0.12.0. The "Data" field of the granule returns only the "https" link but these data are in the Cloud according to earthdata search.
Expected Behavior
I would expect "Data" in the granule to return the S3 path link.
Steps To Reproduce
In Jupyter Notebook:
Output:
Environment
Additional Context
No response
The text was updated successfully, but these errors were encountered: