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 Error Types.
- BadRequestException
-
Raised when a request is submitted that cannot be processed.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the bad request.
HTTP Status Code: 400
- CancelledByUserException
-
Raised when a user cancelled a request.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 500
- ClientTimeoutException
-
Raised when a request timed out in the client.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 408
- ConcurrentModificationException
-
Raised when a request attempts to modify data that is concurrently being modified by another process.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 500
- ConstraintViolationException
-
Raised when a value in a request field did not satisfy required constraints.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 400
- FailureByQueryException
-
Raised when a request fails.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 500
- IllegalArgumentException
-
Raised when an argument in a request is not supported.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 400
- InvalidArgumentException
-
Raised when an argument in a request has an invalid value.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 400
- InvalidParameterException
-
Raised when a parameter value is not valid.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request that includes an invalid parameter.
HTTP Status Code: 400
- MalformedQueryException
-
Raised when a query is submitted that is syntactically incorrect or does not pass additional validation.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the malformed query request.
HTTP Status Code: 400
- MemoryLimitExceededException
-
Raised when a request fails because of insufficient memory resources. The request can be retried.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request that failed.
HTTP Status Code: 500
- MissingParameterException
-
Raised when a required parameter is missing.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in which the parameter is missing.
HTTP Status Code: 400
- ParsingException
-
Raised when a parsing issue is encountered.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 400
- PreconditionsFailedException
-
Raised when a precondition for processing a request is not satisfied.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
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.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request which exceeded the limit.
HTTP Status Code: 500
- QueryLimitException
-
Raised when the size of a query exceeds the system limit.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request that exceeded the limit.
HTTP Status Code: 400
- QueryTooLargeException
-
Raised when the body of a query is too large.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request that is too large.
HTTP Status Code: 400
- TimeLimitExceededException
-
Raised when the an operation exceeds the time limit allowed for it.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request that could not be processed for this reason.
HTTP Status Code: 500
- TooManyRequestsException
-
Raised when the number of requests being processed exceeds the limit.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request that could not be processed for this reason.
HTTP Status Code: 429
- UnsupportedOperationException
-
Raised when a request attempts to initiate an operation that is not supported.
- code
-
The HTTP status code returned with the exception.
- detailedMessage
-
A detailed message describing the problem.
- requestId
-
The ID of the request in question.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: