Correct URL for API calls to Aura?

Hi all

OK I feel dumb but I can't figure out what URL to use for API calls to a DB on Aura.

With a local DB I can connect fine:
with Postman:
http://localhost:7474/db/data/transaction/commit

with the PHP client:
->addConnection('default', 'http://neo4j:password@localhost:7474')
->addConnection('bolt', 'bolt://neo4j:password@localhost:7687')

But I can't figure out what to do with Aura:
Bolt URL: bolt+routing://12345678.databases.neo4j.io
I've tried ports 7474, 7687, 17473 & 17474

In Postman I get error: "Could not get any response. There was an error connecting to…"

(I can connect OK to the Aura DB both through Desktop and in my web browser )

Any guidance?

TIA,
-Fred

1 Like

Hello Fred,

Great to hear from you and thanks for developing with Aura.

Nothing to feel dumb about here. At initial release we do not have a public facing API that is available for you to use programatically.

This is a roadmap feature that we look forward to introducing to enable development in the future.

John

Thanks John. I don't feel (so) dumb anymore.

Is the roadmap publicly available? I'm guessing there's no announced timeline for it yet.

I'd think that having API access to Aura DBs would be a pretty high priority for many people. I know it is for me.

-Fred

p.s. Is there a "Feature Request" part of this forum so people can up-vote this feature?

Does the bolt+routing (or bolt) connection not work for you Fred?

Perhaps @Christophe_Willemsen can say which connection types are currently supported in the PHP bolt driver.

If bolt+routing is not built in you can at least try to use the bolt connection and the routing tables from the servers to reconnect.

Fred,

to speak to the specific point about feature request and feedback collection and collating. We are evaluating our next steps in exposing a more self serve option for our contributors and community and will look to implement that shortly.

I'll take the time to connect you with that when it's realised.

John

Fred -

I wanted to jump in here to perhaps help clarify. Neo4j Aura enables developers to connect using bolt+routing with official drivers (Java, JavaScript, .Net, Python, and Go) and all of our tooling (Browser, Desktop, cypher-shell).

Unfortunately, the Community PHP driver doesn't currently support bolt+routing. We're looking to expand the number of supported languages in our official drivers, and PHP is one of the most-requested languages.

Best,
Kurt

Thanks Kurt

So this means that the HTTP API is also not available for Aura, correct? Do you know if that is on the roadmap, or will Aura always only be via bolt+routing (+ neo4 tooling)?

Hi, Fred.

That's right. The HTTP API is not available in Aura and it unfortunately won't be made available due to the fact that the HTTP API does not support high availability installations (clusters). Aura will be bolt+routing for now. When Neo4j 4.0 is released, the protocol is changing to neo4j://, at which time Aura will offer both 3.5 (with bolt+routing://) and 4.0 (with neo4j://).

1 Like

Fred,

to work around until we can help address that in the driver.
You can wrap the connection in something that checks and caches for a bit the call dbms.cluster.routing.getServers()

and recreate your connection if the LEADER changes.

see: https://neo4j.com/docs/operations-manual/current/monitoring/causal-cluster/procedures/

Michael

Sorry for the late reply here. As @kurt.freytag mentioned, the current PHP driver does not report bolt+routing, actually it is quite behind recent versions of the bolt protocol.

The reason for this, as mentioned quite often to the Neo4j team, is simply that there is a serious lack of documentation for driver authors ( like, zero documentation ) and so far there has been no sponsoring for upgrading it either.

I believe tho that with php 7.4 and FFI, wrapping the C driver inside PHP might be a more viable solution in the long run.