ExecuteGremlinProfileQuery
Executes a Gremlin Profile query, which runs a specified traversal, collects various metrics about the run, and produces a profile report as output. See Gremlin profile API in Neptune for details.
When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the neptune-db:ReadDataViaQuery IAM action in that cluster.
Note that the neptune-db:QueryLanguage:Gremlin IAM condition key can be used in the policy document to restrict the use of Gremlin queries (see Condition keys available in Neptune IAM data-access policy statements).
Request Syntax
POST /gremlin/profile HTTP/1.1
Content-type: application/json
{
"profile.chop": number
,
"gremlin": "string
",
"profile.indexOps": boolean
,
"profile.results": boolean
,
"profile.serializer": "string
"
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- profile.chop
-
If non-zero, causes the results string to be truncated at that number of characters. If set to zero, the string contains all the results.
Type: Integer
Required: No
- gremlin
-
The Gremlin query string to profile.
Type: String
Required: Yes
- profile.indexOps
-
If this flag is set to
TRUE
, the results include a detailed report of all index operations that took place during query execution and serialization.Type: Boolean
Required: No
- profile.results
-
If this flag is set to
TRUE
, the query results are gathered and displayed as part of the profile report. IfFALSE
, only the result count is displayed.Type: Boolean
Required: No
- profile.serializer
-
If non-null, the gathered results are returned in a serialized response message in the format specified by this parameter. See Gremlin profile API in Neptune for more information.
Type: String
Required: No
Response Syntax
HTTP/1.1 200
output
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The response returns the following as the HTTP body.
- output
-
A text blob containing the Gremlin Profile result. See Gremlin profile API in Neptune for details.
Errors
For information about the errors that are common to all actions, see Common Errors.
- BadRequestException
-
Raised when a request is submitted that cannot be processed.
HTTP Status Code: 400
- CancelledByUserException
-
Raised when a user cancelled a request.
HTTP Status Code: 500
- ClientTimeoutException
-
Raised when a request timed out in the client.
HTTP Status Code: 408
- ConcurrentModificationException
-
Raised when a request attempts to modify data that is concurrently being modified by another process.
HTTP Status Code: 500
- ConstraintViolationException
-
Raised when a value in a request field did not satisfy required constraints.
HTTP Status Code: 400
- FailureByQueryException
-
Raised when a request fails.
HTTP Status Code: 500
- IllegalArgumentException
-
Raised when an argument in a request is not supported.
HTTP Status Code: 400
- InvalidArgumentException
-
Raised when an argument in a request has an invalid value.
HTTP Status Code: 400
- InvalidParameterException
-
Raised when a parameter value is not valid.
HTTP Status Code: 400
- MalformedQueryException
-
Raised when a query is submitted that is syntactically incorrect or does not pass additional validation.
HTTP Status Code: 400
- MemoryLimitExceededException
-
Raised when a request fails because of insufficient memory resources. The request can be retried.
HTTP Status Code: 500
- MissingParameterException
-
Raised when a required parameter is missing.
HTTP Status Code: 400
- ParsingException
-
Raised when a parsing issue is encountered.
HTTP Status Code: 400
- PreconditionsFailedException
-
Raised when a precondition for processing a request is not satisfied.
HTTP Status Code: 400
- QueryLimitExceededException
-
Raised when the number of active queries exceeds what the server can process. The query in question can be retried when the system is less busy.
HTTP Status Code: 500
- QueryLimitException
-
Raised when the size of a query exceeds the system limit.
HTTP Status Code: 400
- QueryTooLargeException
-
Raised when the body of a query is too large.
HTTP Status Code: 400
- TimeLimitExceededException
-
Raised when the an operation exceeds the time limit allowed for it.
HTTP Status Code: 500
- TooManyRequestsException
-
Raised when the number of requests being processed exceeds the limit.
HTTP Status Code: 429
- UnsupportedOperationException
-
Raised when a request attempts to initiate an operation that is not supported.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: