:doc:`NetworkFlowMonitor <../../networkflowmonitor>` / Client / start_query_workload_insights_top_contributors_data

***************************************************
start_query_workload_insights_top_contributors_data
***************************************************



.. py:method:: NetworkFlowMonitor.Client.start_query_workload_insights_top_contributors_data(**kwargs)

  

  Create a query with the Network Flow Monitor query interface that you can run to return data for workload insights top contributors. Specify the scope that you want to create a query for.

   

  The call returns a query ID that you can use with `GetQueryResultsWorkloadInsightsTopContributorsData <https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/API_GetQueryResultsWorkloadInsightsTopContributorsData.html>`__ to run the query and return the data for the top contributors for the workload insights for a scope.

   

  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 call for the top contributors that you want to be returned.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/networkflowmonitor-2023-04-19/StartQueryWorkloadInsightsTopContributorsData>`_  


  **Request Syntax**
  ::

    response = client.start_query_workload_insights_top_contributors_data(
        scopeId='string',
        startTime=datetime(2015, 1, 1),
        endTime=datetime(2015, 1, 1),
        metricName='TIMEOUTS'|'RETRANSMISSIONS'|'DATA_TRANSFERRED',
        destinationCategory='INTRA_AZ'|'INTER_AZ'|'INTER_VPC'|'UNCLASSIFIED'|'AMAZON_S3'|'AMAZON_DYNAMODB'|'INTER_REGION'
    )
    
  :type scopeId: string
  :param scopeId: **[REQUIRED]** 

    The identifier for the scope that includes the resources you want to get data results for. A scope ID is an internally-generated identifier that includes all the resources for a specific root account.

    

  
  :type startTime: datetime
  :param startTime: **[REQUIRED]** 

    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.

    

  
  :type endTime: datetime
  :param endTime: **[REQUIRED]** 

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

    

  
  :type metricName: string
  :param metricName: **[REQUIRED]** 

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

    

  
  :type destinationCategory: string
  :param destinationCategory: **[REQUIRED]** 

    The destination category for a top contributors. 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
     
    * ``AWS_SERVICES``: Top contributor network flows to or from Amazon Web Services services
     
    * ``UNCLASSIFIED``: Top contributor network flows that do not have a bucket classification
    

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'queryId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **queryId** *(string) --* 

        The identifier for the query. A query ID is an internally-generated identifier for a specific query returned from an API call to start a query.

        
  
  **Exceptions**
  
  *   :py:class:`NetworkFlowMonitor.Client.exceptions.ServiceQuotaExceededException`

  
  *   :py:class:`NetworkFlowMonitor.Client.exceptions.ValidationException`

  
  *   :py:class:`NetworkFlowMonitor.Client.exceptions.ThrottlingException`

  
  *   :py:class:`NetworkFlowMonitor.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`NetworkFlowMonitor.Client.exceptions.InternalServerException`

  