Skip to content

execute_gremlin_profile_query

execute_gremlin_profile_query(
    gremlin_query: str,
    *,
    config_overrides: Optional[neptunedataClientConfig] = None,
    results: Optional[bool] = None,
    chop: Optional[int] = None,
    serializer: Optional[str] = None,
    index_ops: Optional[bool] = None,
) -> ExecuteGremlinProfileQueryOutput

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).

Parameters:

  • gremlin_query (str) –

    The Gremlin query string to profile.

  • results (Optional[bool], default: None ) –

    If this flag is set to TRUE, the query results are gathered and displayed as part of the profile report. If FALSE, only the result count is displayed.

  • chop (Optional[int], default: None ) –

    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.

  • serializer (Optional[str], default: None ) –

    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.

  • index_ops (Optional[bool], default: None ) –

    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.

Raises:

Source code in docs_src/capo_neptunedata/_services/neptunedata.py
def execute_gremlin_profile_query(
    self,
    gremlin_query: str,
    *,
    config_overrides: Optional[neptunedataClientConfig] = None,
    results: Optional[bool] = None,
    chop: Optional[int] = None,
    serializer: Optional[str] = None,
    index_ops: Optional[bool] = None,
) -> "capo_neptunedata.types.execute_gremlin_profile_query_output.ExecuteGremlinProfileQueryOutput":
    """<p>Executes a Gremlin Profile query, which runs a specified traversal, collects various metrics about the run, and produces a profile report as output. See <a href="https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html">Gremlin profile API in Neptune</a> for details.</p> <p>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 <a href="https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery">neptune-db:ReadDataViaQuery</a> IAM action in that cluster.</p> <p>Note that the <a href="https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys">neptune-db:QueryLanguage:Gremlin</a> IAM condition key can be used in the policy document to restrict the use of Gremlin queries (see <a href="https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html">Condition keys available in Neptune IAM data-access policy statements</a>).</p>

    Args:
        gremlin_query: <p>The Gremlin query string to profile.</p>
        results: <p>If this flag is set to <code>TRUE</code>, the query results are gathered and displayed as part of the profile report. If <code>FALSE</code>, only the result count is displayed.</p>
        chop: <p>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.</p>
        serializer: <p>If non-null, the gathered results are returned in a serialized response message in the format specified by this parameter. See <a href="https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html">Gremlin profile API in Neptune</a> for more information.</p>
        index_ops: <p>If this flag is set to <code>TRUE</code>, the results include a detailed report of all index operations that took place during query execution and serialization.</p>

    Raises:
        capo_neptunedata.errors.bad_request_exception.BadRequestException: <p>Raised when a request is submitted that cannot be processed.</p>
        capo_neptunedata.errors.cancelled_by_user_exception.CancelledByUserException: <p>Raised when a user cancelled a request.</p>
        capo_neptunedata.errors.client_timeout_exception.ClientTimeoutException: <p>Raised when a request timed out in the client.</p>
        capo_neptunedata.errors.concurrent_modification_exception.ConcurrentModificationException: <p>Raised when a request attempts to modify data that is concurrently being modified by another process.</p>
        capo_neptunedata.errors.constraint_violation_exception.ConstraintViolationException: <p>Raised when a value in a request field did not satisfy required constraints.</p>
        capo_neptunedata.errors.failure_by_query_exception.FailureByQueryException: <p>Raised when a request fails.</p>
        capo_neptunedata.errors.illegal_argument_exception.IllegalArgumentException: <p>Raised when an argument in a request is not supported.</p>
        capo_neptunedata.errors.invalid_argument_exception.InvalidArgumentException: <p>Raised when an argument in a request has an invalid value.</p>
        capo_neptunedata.errors.invalid_parameter_exception.InvalidParameterException: <p>Raised when a parameter value is not valid.</p>
        capo_neptunedata.errors.malformed_query_exception.MalformedQueryException: <p>Raised when a query is submitted that is syntactically incorrect or does not pass additional validation.</p>
        capo_neptunedata.errors.memory_limit_exceeded_exception.MemoryLimitExceededException: <p>Raised when a request fails because of insufficient memory resources. The request can be retried.</p>
        capo_neptunedata.errors.missing_parameter_exception.MissingParameterException: <p>Raised when a required parameter is missing.</p>
        capo_neptunedata.errors.parsing_exception.ParsingException: <p>Raised when a parsing issue is encountered.</p>
        capo_neptunedata.errors.preconditions_failed_exception.PreconditionsFailedException: <p>Raised when a precondition for processing a request is not satisfied.</p>
        capo_neptunedata.errors.query_limit_exceeded_exception.QueryLimitExceededException: <p>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.</p>
        capo_neptunedata.errors.query_limit_exception.QueryLimitException: <p>Raised when the size of a query exceeds the system limit.</p>
        capo_neptunedata.errors.query_too_large_exception.QueryTooLargeException: <p>Raised when the body of a query is too large.</p>
        capo_neptunedata.errors.time_limit_exceeded_exception.TimeLimitExceededException: <p>Raised when the an operation exceeds the time limit allowed for it.</p>
        capo_neptunedata.errors.too_many_requests_exception.TooManyRequestsException: <p>Raised when the number of requests being processed exceeds the limit.</p>
        capo_neptunedata.errors.unsupported_operation_exception.UnsupportedOperationException: <p>Raised when a request attempts to initiate an operation that is not supported.</p>
        capo_neptunedata.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_neptunedata.types.execute_gremlin_profile_query_input.ExecuteGremlinProfileQueryInput]",
    ) -> OperationResponse[
        "capo_neptunedata.types.execute_gremlin_profile_query_output.ExecuteGremlinProfileQueryOutput"
    ]:
        import capo_neptunedata._operations.amazon_neptune_dataplane.execute_gremlin_profile_query

        output, http_response = (
            capo_neptunedata._operations.amazon_neptune_dataplane.execute_gremlin_profile_query.execute_gremlin_profile_query(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ExecuteGremlinProfileQuery")
    )
    input_: capo_neptunedata.types.execute_gremlin_profile_query_input.ExecuteGremlinProfileQueryInput = {
        "gremlin_query": gremlin_query
    }
    if results is not None:
        input_["results"] = results
    if chop is not None:
        input_["chop"] = chop
    if serializer is not None:
        input_["serializer"] = serializer
    if index_ops is not None:
        input_["index_ops"] = index_ops

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output