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