Skip to content

start_query_monitor_top_contributors

start_query_monitor_top_contributors(
    monitor_name: ResourceName,
    start_time: datetime,
    end_time: datetime,
    metric_name: MonitorMetric,
    destination_category: DestinationCategory,
    *,
    config_overrides: Optional[NetworkFlowMonitorClientConfig] = None,
    limit: Optional[Limit] = None,
) -> StartQueryMonitorTopContributorsOutput

Create a query that you can use with the Network Flow Monitor query interface to return the top contributors for a monitor. Specify the monitor that you want to create the query for.

The call returns a query ID that you can use with GetQueryResultsMonitorTopContributors to run the query and return the top contributors for a specific monitor.

Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type. Top contributors can be across all workload insights, for a given scope, or for a specific monitor. Use the applicable APIs for the top contributors that you want to be returned.

Parameters:

  • monitor_name (ResourceName) –

    The name of the monitor.

  • start_time (datetime) –

    The timestamp that is the date and time that is the beginning of the period that you want to retrieve results for with your query.

  • end_time (datetime) –

    The timestamp that is the date and time end of the period that you want to retrieve results for with your query.

  • metric_name (MonitorMetric) –

    The metric that you want to query top contributors for. That is, you can specify a metric with this call and return the top contributor network flows, for that type of metric, for a monitor and (optionally) within a specific category, such as network flows between Availability Zones.

  • destination_category (DestinationCategory) –

    The category that you want to query top contributors for, for a specific monitor. Destination categories can be one of the following:

    • INTRA_AZ: Top contributor network flows within a single Availability Zone

    • INTER_AZ: Top contributor network flows between Availability Zones

    • INTER_REGION: Top contributor network flows between Regions (to the edge of another Region)

    • INTER_VPC: Top contributor network flows between VPCs

    • AMAZON_S3: Top contributor network flows to or from Amazon S3

    • AMAZON_DYNAMODB: Top contributor network flows to or from Amazon Dynamo DB

    • UNCLASSIFIED: Top contributor network flows that do not have a bucket classification

  • limit (Optional[Limit], default: None ) –

    The maximum number of top contributors to return.

Raises:

Source code in docs_src/capo_networkflowmonitor/_services/network_flow_monitor.py
def start_query_monitor_top_contributors(
    self,
    monitor_name: "capo_networkflowmonitor.types.resource_name.ResourceName",
    start_time: datetime.datetime,
    end_time: datetime.datetime,
    metric_name: "capo_networkflowmonitor.types.monitor_metric.MonitorMetric",
    destination_category: "capo_networkflowmonitor.types.destination_category.DestinationCategory",
    *,
    config_overrides: Optional[NetworkFlowMonitorClientConfig] = None,
    limit: Optional["capo_networkflowmonitor.types.limit.Limit"] = None,
) -> "capo_networkflowmonitor.types.start_query_monitor_top_contributors_output.StartQueryMonitorTopContributorsOutput":
    """<p>Create a query that you can use with the Network Flow Monitor query interface to return the top contributors for a monitor. Specify the monitor that you want to create the query for. </p> <p>The call returns a query ID that you can use with <a href="https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetQueryResultsMonitorTopContributors.html"> GetQueryResultsMonitorTopContributors</a> to run the query and return the top contributors for a specific monitor.</p> <p>Top contributors in Network Flow Monitor are network flows with the highest values for a specific metric type. Top contributors can be across all workload insights, for a given scope, or for a specific monitor. Use the applicable APIs for the top contributors that you want to be returned.</p>

    Args:
        monitor_name: <p>The name of the monitor.</p>
        start_time: <p>The timestamp that is the date and time that is the beginning of the period that you want to retrieve results for with your query.</p>
        end_time: <p>The timestamp that is the date and time end of the period that you want to retrieve results for with your query.</p>
        metric_name: <p>The metric that you want to query top contributors for. That is, you can specify a metric with this call and return the top contributor network flows, for that type of metric, for a monitor and (optionally) within a specific category, such as network flows between Availability Zones.</p>
        destination_category: <p>The category that you want to query top contributors for, for a specific monitor. Destination categories can be one of the following: </p> <ul> <li> <p> <code>INTRA_AZ</code>: Top contributor network flows within a single Availability Zone</p> </li> <li> <p> <code>INTER_AZ</code>: Top contributor network flows between Availability Zones</p> </li> <li> <p> <code>INTER_REGION</code>: Top contributor network flows between Regions (to the edge of another Region)</p> </li> <li> <p> <code>INTER_VPC</code>: Top contributor network flows between VPCs</p> </li> <li> <p> <code>AMAZON_S3</code>: Top contributor network flows to or from Amazon S3</p> </li> <li> <p> <code>AMAZON_DYNAMODB</code>: Top contributor network flows to or from Amazon Dynamo DB</p> </li> <li> <p> <code>UNCLASSIFIED</code>: Top contributor network flows that do not have a bucket classification</p> </li> </ul>
        limit: <p>The maximum number of top contributors to return.</p>

    Raises:
        capo_networkflowmonitor.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient permission to perform this action.</p>
        capo_networkflowmonitor.errors.internal_server_exception.InternalServerException: <p>An internal error occurred.</p>
        capo_networkflowmonitor.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request exceeded a service quota.</p>
        capo_networkflowmonitor.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_networkflowmonitor.errors.validation_exception.ValidationException: <p>Invalid request.</p>
        capo_networkflowmonitor.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_networkflowmonitor.types.start_query_monitor_top_contributors_input.StartQueryMonitorTopContributorsInput]",
    ) -> OperationResponse[
        "capo_networkflowmonitor.types.start_query_monitor_top_contributors_output.StartQueryMonitorTopContributorsOutput"
    ]:
        import capo_networkflowmonitor._operations.network_flow_monitor.start_query_monitor_top_contributors

        output, http_response = (
            capo_networkflowmonitor._operations.network_flow_monitor.start_query_monitor_top_contributors.start_query_monitor_top_contributors(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartQueryMonitorTopContributors")
    )
    input_: capo_networkflowmonitor.types.start_query_monitor_top_contributors_input.StartQueryMonitorTopContributorsInput = {
        "monitor_name": monitor_name,
        "start_time": start_time,
        "end_time": end_time,
        "metric_name": metric_name,
        "destination_category": destination_category,
    }
    if limit is not None:
        input_["limit"] = limit

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