Hi everyone, I know this subject has been approached previously, but the instead of AWS, google cloud platform was involved. I read the thread for that issue, but I wasn’t able to see any solution at the end. I am trying to create an imagemosaic with data taken from a private S3 bucket, using wasaby cloud platform, but so far I had no success. I am able to create an imagemosaic with data being public, using the HttpRangeReader, but when I try it with private bucket I get this error message in geoserver logs:
"Caused by: java.util.concurrent.ExecutionException: software.amazon.awssdk.services.s3.model.S3Exception: The AWS Access Key Id you provided does not exist in our records. (Service: S3, Status Code: 403, Request ID: 0QJPZ57E8VWNDNHR)" This error message is thrown if the path in the database is: https://s3.<region_name>.wasabisys.com/<bucket_name>/<key_name> I had the same error message in QGIS, but managed to solved it by setting the following environment variables export AWS_SECRET_ACCESS_KEY= <AWS_SECRET_ACCESS_KEY> export AWS_ACCESS_KEY_ID= <AWS_ACCESS_KEY_ID? export AWS_REGION=< AWS_REGION > export AWS_S3_ENDPOINT=s3.eu-central-1.wasabisys.com <http://s3.eu-central-1.wasabisys.com/> With QGIS, the name of the file included only the key/filename, not the whole https url, which geoserver seems to ask for, because if I pass only the key name in the database, I get this error message: "Skipping invalid granule java.lang.IllegalArgumentException: Illegal argument: “granuleLocation=<key_name>”." which makes me think geoserver expects a complete url and not just the key_name/filename I also had a look at the code and the tests here: https://github.com/geosolutions-it/imageio-ext/tree/master/plugin/cog/cog-rangereader-s3, and as far as I can tell, (I am not a java developer) )the tests are run on a public bucket with complete url, instead of passing only the key/filename. I also tried to pass these environement variables in the mosaic.properties file: IIO_HTTP_AWS_USER=aws_id IIO_HTTP_AWS_PASSWORD=aws_secret_key IIO_HTTP_AWS_ENDPOINT=https://s3.eu-central-1.wasabisys.com/<bucket_name> IIO_HTTP_AWS_REGION=eu-central-1 IIO_HTTP_AWS_CORE_POOL_SIZE=10 IIO_HTTP_AWS_MAX_POOL_SIZE=50 but had no effect I am not even able to create geotiff store using only the UI if the files are private and using the S3 range reader. My question is, is this plugin meant only to work with AWS cloud platform only and not other cloud platforms that simulate a AWS environment? I am asking more for a confirmation , because I can see in the code the url expects ".amazonaws.com" Kind regards, Corina
_______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users