Neptune | This software is provided under the following license
kandi X-RAY | Neptune Summary
kandi X-RAY | Neptune Summary
This software is provided under the following license:.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Neptune
Neptune Key Features
Neptune Examples and Code Snippets
Community Discussions
Trending Discussions on Neptune
QUESTION
How to handle Transaction (Rollback and Commit) in Gremlin - AWS Neptune?
...ANSWER
Answered 2021-Jun-09 at 23:54There are 3 main ways to send a Gremlin query to a server. One is as plain text. In this case you can use semicolons between queries and they are treated as a single transaction. The second is to use a Gremlin client driver that supports sending queries as bytecode. In this case each query sent is a transaction. The third is to use Gremlin Sessions. In this case you create a session and then send one or more queries. The whole session is treated as a single transaction and only committed when you close the session. In this third case you can have code and queries intermixed as needed.
All of that said, you really don't need to use a for loop, you can just send everything in one go. Here is a simple example:
QUESTION
I'm using awscurl
to bulk load data from s3 into neptune:
I've done the following:
- Ensure the ARN has s3 full access
- Uploaded gremlin csv sample data to existing bucket
The error I get is:
Couldn't find the aws credential for iam_role_arn: arn:aws:iam::1111111:role/NeptuneAdmin
What is the best way to ensure I have this credential? I'm executing this from local.
Sample Query ...ANSWER
Answered 2021-Jun-09 at 19:55Adding this as an answer in case others find your question.
The Role that gives Neptune access to S3 needs to be added to Neptune either using the web console or via the CLI. Then when the curl command is issued Neptune will find the Role.
QUESTION
I wanted to make a help command for the bot which shows the prefix of the specific guild. Here is my help.js
file :-
ANSWER
Answered 2021-Jun-03 at 07:50The reason why you're getting undefinded
when requiring
the prefix
from your main.js
is that you're never exporting
a value
.
If you'd want to get your prefix
by using require
you have to do this:
QUESTION
I'm trying to access Neptune cluster status
endpoint from an SSH tunnel. I can hit it without issue on my bastion host, but when doing via ssh tunnel, I get:
https://localhost:8182/status
...ANSWER
Answered 2021-May-25 at 06:52When using SSH tunnel for accessing Neptune using localhost, one need to explicitly pass Neptune endpoint as host header for signing the request. Consider below example for awscurl:
QUESTION
I'm looking for recommendations on connecting to a Neptune cluster in AWS from a VPC that the Neptune cluster does not exist in. I'm thinking if I have a transit gateway as an intermediary bridge between the 2 VPCs I'll be able to proxy the connection through so connectivity is successful.
I need this for reads and writes. Is this an acceptable approach for a production-grade env? In addition, I'm expecting to hit the REST endpoint I think from a client-based application once the request gets into the VPC containing the Neptune cluster.
...ANSWER
Answered 2021-May-18 at 16:53Transit Gateway would be a fine production approach here. VPC Peering between the two VPCs would also work well for production systems. There is also a reference architecture for using a Network Load Balancer or Application Load Balancer. If you have issues, you want to make sure your security groups and routing tables are configured correctly. Sending an HTTPS request to the Status endpoint is the easiest way to test your connectivity to Neptune.
QUESTION
I have these user
vertices:
ANSWER
Answered 2021-May-17 at 13:32Currently the Gremlin language does not have a step that can return the length of a string. This is something that may be added to Gremlin in a future version, possibly in the 3.6 release. You can of course do it using closures (in-line code) but many hosted TinkerPop graph stores, including Amazon Neptune, do not allow arbitrary code blocks to be run as part of Gremlin queries. At this moment in time this will need to be handled application side when using Neptune, or as you suggest, using a nameLength
property. This is an area where the TinkerPop community recognizes some additional steps are needed and does plan to prioritize this work.
QUESTION
I am making a tool which calculates your weight on different planets. I dont' know why but my code is not working. I have attached it. The problem is with the javascript. Someone please help me.
I have put my code here : https://www.w3schools.com/code/tryit.asp?filename=GQKHM7XCL3KM
...ANSWER
Answered 2021-May-16 at 11:32You just need to change from onclick="Calculate" ();
to onclick="Calculate();"
QUESTION
We have one photo sharing service in which one can allow or deny other set of users to view or not. We exposed this service as an API /view?caller=userId&photoId=photoId. We're using AWS Neptune Graph database service to maintain this authorization and using tinkerpop java library.
For the code maintainability, we fetch possible paths from other class methods and call canUserView method from the outside.
...ANSWER
Answered 2021-May-14 at 16:15Using the air routes data set, here is one way you can achieve what you are looking for.
The or
will filter out all airports not in either Texas or Georgia. After that the choose
step returns a constant
indicating which or
path was taken. You can of course do something more interesting that return a constant value in your query.
QUESTION
I'm learning about Amazon Neptune, and noticed that:
- IAM authentication is not enabled by default
- IAM authentication requires AWS Signature v4 for API calls, which increases application complexity
By default, it seems that Amazon Neptune uses anonymous authentication, as I didn't have to provide any API keys, username / password combinations, or certificates for authentication. Additionally, the code sample provided by AWS doesn't include any authentication details.
It appears that the only default security options for Amazon Neptune are network-level VPC Security Groups.
According to the What is Neptune?
documentation, the service claims to be "highly secure." In my opinion, a service that does not support application-level authentication by default, is not "highly secure."
Neptune provides multiple levels of security for your database. Security features include network isolation using Amazon VPC, and encryption at rest using keys that you create and control through AWS Key Management Service (AWS KMS). On an encrypted Neptune instance, data in the underlying storage is encrypted, as are the automated backups, snapshots, and replicas in the same cluster.
Question: Why does Amazon Neptune use an insecure configuration by default, and is there a way to enable authentication without using the complicated IAM integrated authentication?
...ANSWER
Answered 2021-May-13 at 18:22You've got some very valid points in there, so let me go through them in detail by providing some context.
By default, it seems that Amazon Neptune uses anonymous authentication..
This is intentional for a reason. The query languages that Neptune support right now are Gremlin and SPARQL, both of which are built on top of HTTP/HTTPS without any sort of auth (Basic Auth is supported in Gremlin, but that is not something that clients use in production anyways. I'd need at least some form of message digest auth to call it secure, but unfortunately, the language spec does not include this). As these languages are open, there are a lot of open source client code that exist out there that assume that they are dealing with an unauthenticated endpoint. As a result, purely from an adoption point of view, Neptune chose to keep its request layer to be unauthenticated by default. If you explore other DB engines within AWS (say Aurora MySQL), the backing DB engine does support auth as its default posture.
This does not mean that it is the right thing to do, so I'll let someone from the Gremlin/SPARQL community comment on whether the spec should enforce authentication as the default posture or not.
It appears that the only default security options for Amazon Neptune are network-level VPC Security Groups.
SG's provide the network ACLs, and we do support TLS 1.2 by default (as of the newest engine versions), so that tightens up your client -> db connection as well.
The service claims to be "highly secure." In my opinion, a service that does not support application-level authentication by default, is not "highly secure."
In addition to the details called out above, the "highly secure" aspect of Neptune is not limited just to client -> db connection. Your data is replicated 6 way and stored in 3 AZs. This involves a lot of communication, not just from the DB, but within the backing storage nodes as well. All these communications are guarded by industry standard security protocols. Encryption at rest for the distributed store is a totally interesting case study on its own. Same standards apply to operator access to the machines, auditing, data safety which snapshotting and restoring etc etc. In short, I do agree that the default posture should be SigV4 (or some open standard) auth enabled, I do want to make sure that you do get some clarity on why we do claim to be a highly secure DB, much like any other product that AWS provides.
Is there a way to enable authentication without using the complicated IAM integrated authentication?
SigV4 is the standard that most AWS services do support. I do agree that it would have been a lot easier if there were an SDK that customers could directly use. We did vend out SigV4 plugins for some of the clients (especially Java and Python) and it actually has a pretty good uptake. Do try it out and share feedback on which areas in the integration seemed to be painful, and we'd be more than happy to take a look.
EDIT 1: The OP discussion here was around security between client and the database, so the security practices in the opaque backing data store that I've quoted above isn't really relevant. In other words, the discussion here is entirely around the data plane API of Neptune and whether we could be secure by default, rather than an opt in.
QUESTION
I am trying to use Python on an Amazon EC2 instance, in the same VPC as an Amazon Neptune instance, to add a vertex (node) to Neptune. Using the example code for Amazon Neptune, I constructed the following code sample to add a vertex (node) and then print out all vertices in the graph.
...ANSWER
Answered 2021-May-03 at 23:58Your addV() query needs a Terminal Step such as next() or iterate(). Otherwise, you get the bytecode representation of the query returned. http://www.kelvinlawrence.net/book/PracticalGremlin.html#var
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Neptune
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page