-
Notifications
You must be signed in to change notification settings - Fork 34
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
WMS does not show raster data hosted on private AWS S3 #946
Comments
What error do you get in the stack ? There may be a baked in Could you try "false" as the value for no-sign request and see the results. Reading the tests, looks like this is what is tested. We should improve the docs to clearly show the valid string values interpreted as true and false. |
If I [2023-07-24 16:46:50,542] [INFO] S3 access configured with signed requests
[2023-07-24 16:46:50,543] [INFO] Establishing/renewing credentials
[2023-07-24 16:46:50,634] [INFO] Found credentials in environment variables. indicating that there's no issue regarding absence of these env vars. I suppose Btw, changing to 'false' didn't have any effect... |
All of the read handling using OWS is done by datacube, best to capture some intermediate results there and check. It would be also good to hear from the community using authenticated S3 buckets with OWS. |
We're running OWS with a private S3 bucket (disclaimer: we're running the fairly old version In the config, the only S3 related item we have set is In the environment variables we set: AWS_NO_SIGN_REQUEST=NO
AWS_DEFAULT_REGION=eu-central-1 We don't set credentials as these are supplied by the attached role and acquired / refreshed by the Can you confirm that
is actually loading the data (it should) and not a dask array? Also, is that run from the same environment as OWS? |
I confirm that the dc.load function I included returns a properly populated xarray.Dataset that I can visualize with matplotlib and see the actual raster data from the S3. And, yes, it's within the same env; the reason I included it is because I wanted to show exactly that, i.e., that the |
I remember it can be tricky to sort out loading issues between these layers. If I'd had to guess, either somehow requests are set to unsigned, the credentials are somehow not picked up, or you are using a different set of credentials that don't have the required permissions. You probably need to dig into the logs a bit, set to debug and so on, to see what's happening behind the scenes with You say that OWS does not deliver raster data. Perhaps you can share an error message or any other hint to why that is the case. |
Have you rerun OWS does not use the same search mechanism as core - it has a separate postgis index to the database that allows more accurate spatial searches, which must be maintained as per the documentation here. |
I'm assuming we can close this now. |
Description
The WMS service of my
datacube-ows
instance does not deliver raster data hosted on private AWS S3.Steps
I've set up a local dev/test instance of
datacube-ows
and run it with the flask approach. I've also configured all env vars as described in the documentation.i.e.:
AWS_DEFAULT_REGION=us-west-2
AWS_REGION=us-west-2
AWS_NO_SIGN_REQUEST=0
AWS_SECRET_ACCESS_KEY=...
AWS_ACCESS_KEY_ID=...
My
ows_conf.py
file contains the following lines:The following part works fine, indicating that
datacube
is able to fetch S3 data:Environment
conda list
returns the following versions:The text was updated successfully, but these errors were encountered: