Apoc.load.json with local (Docker) MiniO

I am attempting to call apoc.json.load using an S3 URI as described in this documentation.

I am encountering an error:

Failed to invoke procedure apoc.load.json: Caused by: javax.net.ssl.SSLException: Unsupported or unrecognized SSL message

I am using Neo4j version neo4j:5.20.0-enterprise, and my S3-compatible blob store is MiniO RELEASE.2024-07-29T22-14-52Z. I have Neo4j and MiniO services running as part of a Docker Compose stack.

I have ensured that the necessary plugins (listed in the web apis documentation) have been copied into the $NEO4J_HOME/plugins dir.

I have configured the blob storage credentials via environment variables in the Neo4j docker service - specifically, I have set values for:

  • AWS_ENDPOINT_URL - using the hostname of the MiniO container
  • AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY - using the credentials configured with MiniO

The S3 URI I am providing is of the format:

s3://{hostname}:{port}/{bucket}/{key}

Specifically:

s3://minio:9000/data/example.json

It is possible to make a connection Neo4j -> MiniO when using the (non-apoc) LOAD CSV WITH HEADERS FROM call.

Is there any way that I can mitigate this error to load data via APOC from S3 (MiniO) in docker compose?