:doc:`CloudFront <../../cloudfront>` / Client / update_realtime_log_config

**************************
update_realtime_log_config
**************************



.. py:method:: CloudFront.Client.update_realtime_log_config(**kwargs)

  

  Updates a real-time log configuration.

   

  When you update a real-time log configuration, all the parameters are updated with the values provided in the request. You cannot update some parameters independent of others. To update a real-time log configuration:

   

   
  * Call ``GetRealtimeLogConfig`` to get the current real-time log configuration.
   
  * Locally modify the parameters in the real-time log configuration that you want to update.
   
  * Call this API ( ``UpdateRealtimeLogConfig``) by providing the entire real-time log configuration, including the parameters that you modified and those that you didn't.
   

   

  You cannot update a real-time log configuration's ``Name`` or ``ARN``.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfig>`_  


  **Request Syntax**
  ::

    response = client.update_realtime_log_config(
        EndPoints=[
            {
                'StreamType': 'string',
                'KinesisStreamConfig': {
                    'RoleARN': 'string',
                    'StreamARN': 'string'
                }
            },
        ],
        Fields=[
            'string',
        ],
        Name='string',
        ARN='string',
        SamplingRate=123
    )
    
  :type EndPoints: list
  :param EndPoints: 

    Contains information about the Amazon Kinesis data stream where you are sending real-time log data.

    

  
    - *(dict) --* 

      Contains information about the Amazon Kinesis data stream where you're sending real-time log data in a real-time log configuration.

      

    
      - **StreamType** *(string) --* **[REQUIRED]** 

        The type of data stream where you are sending real-time log data. The only valid value is ``Kinesis``.

        

      
      - **KinesisStreamConfig** *(dict) --* 

        Contains information about the Amazon Kinesis data stream where you are sending real-time log data in a real-time log configuration.

        

      
        - **RoleARN** *(string) --* **[REQUIRED]** 

          The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.

           

          For more information the IAM role, see `Real-time log configuration IAM role <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role>`__ in the *Amazon CloudFront Developer Guide*.

          

        
        - **StreamARN** *(string) --* **[REQUIRED]** 

          The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.

          

        
      
    

  :type Fields: list
  :param Fields: 

    A list of fields to include in each real-time log record.

     

    For more information about fields, see `Real-time log configuration fields <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields>`__ in the *Amazon CloudFront Developer Guide*.

    

  
    - *(string) --* 

    

  :type Name: string
  :param Name: 

    The name for this real-time log configuration.

    

  
  :type ARN: string
  :param ARN: 

    The Amazon Resource Name (ARN) for this real-time log configuration.

    

  
  :type SamplingRate: integer
  :param SamplingRate: 

    The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. You must provide an integer between 1 and 100, inclusive.

    

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

    
    ::

      {
          'RealtimeLogConfig': {
              'ARN': 'string',
              'Name': 'string',
              'SamplingRate': 123,
              'EndPoints': [
                  {
                      'StreamType': 'string',
                      'KinesisStreamConfig': {
                          'RoleARN': 'string',
                          'StreamARN': 'string'
                      }
                  },
              ],
              'Fields': [
                  'string',
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **RealtimeLogConfig** *(dict) --* 

        A real-time log configuration.

        
        

        - **ARN** *(string) --* 

          The Amazon Resource Name (ARN) of this real-time log configuration.

          
        

        - **Name** *(string) --* 

          The unique name of this real-time log configuration.

          
        

        - **SamplingRate** *(integer) --* 

          The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. The sampling rate is an integer between 1 and 100, inclusive.

          
        

        - **EndPoints** *(list) --* 

          Contains information about the Amazon Kinesis data stream where you are sending real-time log data for this real-time log configuration.

          
          

          - *(dict) --* 

            Contains information about the Amazon Kinesis data stream where you're sending real-time log data in a real-time log configuration.

            
            

            - **StreamType** *(string) --* 

              The type of data stream where you are sending real-time log data. The only valid value is ``Kinesis``.

              
            

            - **KinesisStreamConfig** *(dict) --* 

              Contains information about the Amazon Kinesis data stream where you are sending real-time log data in a real-time log configuration.

              
              

              - **RoleARN** *(string) --* 

                The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.

                 

                For more information the IAM role, see `Real-time log configuration IAM role <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role>`__ in the *Amazon CloudFront Developer Guide*.

                
              

              - **StreamARN** *(string) --* 

                The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.

                
          
        
      
        

        - **Fields** *(list) --* 

          A list of fields that are included in each real-time log record. In an API response, the fields are provided in the same order in which they are sent to the Amazon Kinesis data stream.

           

          For more information about fields, see `Real-time log configuration fields <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields>`__ in the *Amazon CloudFront Developer Guide*.

          
          

          - *(string) --* 
      
    
  
  **Exceptions**
  
  *   :py:class:`CloudFront.Client.exceptions.AccessDenied`

  
  *   :py:class:`CloudFront.Client.exceptions.InvalidArgument`

  
  *   :py:class:`CloudFront.Client.exceptions.NoSuchRealtimeLogConfig`

  