Neo4J presigned urls IAM role for access on EC2


Hi there

I have Neo4J running on an EC2 instance and this was launched from an AWS marketplace image.

I have set up a AWS batch job that accesses some data and then ideally I want to upload the csv the batch writes to an S3 and then neo4j.

I create a presigned url and then pass this via cypher to the query command to the database object.

I get an error returned that says it cannot connect to external resource.

Is this easiest way to upload data, via the neo4jclient python package and to using a presigned url? Are there any alternatives?

I thought it might be related to the EC2s IAM role but I thought this sort of thing would come as standard with the marketplace image setup.


If memory serves me correctly, the purpose of the presigned URL is to allow access without worrying about the EC2 role. Did you try using the url in a normal browser window to see if the file is accessible that way?

What is the base operating system of the marketplace image? If it is some linux os, should be able to do curl __URL__ from inside the EC2 instance and make sure that can reach it.

Finally, double check that the url it tries to reach matches what you expect (i.e. correct https://.... with all the right slashes) (it should show up in the log I think when it says cannot connect to external resource)?

Sounds like its a network issue somewhere along the line....