:doc:`Glue <../../glue>` / Client / update_schema

*************
update_schema
*************



.. py:method:: Glue.Client.update_schema(**kwargs)

  

  Updates the description, compatibility setting, or version checkpoint for a schema set.

   

  For updating the compatibility setting, the call will not validate compatibility for the entire set of schema versions with the new compatibility setting. If the value for ``Compatibility`` is provided, the ``VersionNumber`` (a checkpoint) is also required. The API will validate the checkpoint version number for consistency.

   

  If the value for the ``VersionNumber`` (checkpoint) is provided, ``Compatibility`` is optional and this can be used to set/reset a checkpoint for the schema.

   

  This update will happen only if the schema is in the AVAILABLE state.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateSchema>`_  


  **Request Syntax**
  ::

    response = client.update_schema(
        SchemaId={
            'SchemaArn': 'string',
            'SchemaName': 'string',
            'RegistryName': 'string'
        },
        SchemaVersionNumber={
            'LatestVersion': True|False,
            'VersionNumber': 123
        },
        Compatibility='NONE'|'DISABLED'|'BACKWARD'|'BACKWARD_ALL'|'FORWARD'|'FORWARD_ALL'|'FULL'|'FULL_ALL',
        Description='string'
    )
    
  :type SchemaId: dict
  :param SchemaId: **[REQUIRED]** 

    This is a wrapper structure to contain schema identity fields. The structure contains:

     

    
    * SchemaId$SchemaArn: The Amazon Resource Name (ARN) of the schema. One of ``SchemaArn`` or ``SchemaName`` has to be provided.
     
    * SchemaId$SchemaName: The name of the schema. One of ``SchemaArn`` or ``SchemaName`` has to be provided.
    

    

  
    - **SchemaArn** *(string) --* 

      The Amazon Resource Name (ARN) of the schema. One of ``SchemaArn`` or ``SchemaName`` has to be provided.

      

    
    - **SchemaName** *(string) --* 

      The name of the schema. One of ``SchemaArn`` or ``SchemaName`` has to be provided.

      

    
    - **RegistryName** *(string) --* 

      The name of the schema registry that contains the schema.

      

    
  
  :type SchemaVersionNumber: dict
  :param SchemaVersionNumber: 

    Version number required for check pointing. One of ``VersionNumber`` or ``Compatibility`` has to be provided.

    

  
    - **LatestVersion** *(boolean) --* 

      The latest version available for the schema.

      

    
    - **VersionNumber** *(integer) --* 

      The version number of the schema.

      

    
  
  :type Compatibility: string
  :param Compatibility: 

    The new compatibility setting for the schema.

    

  
  :type Description: string
  :param Description: 

    The new description for the schema.

    

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

    
    ::

      {
          'SchemaArn': 'string',
          'SchemaName': 'string',
          'RegistryName': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **SchemaArn** *(string) --* 

        The Amazon Resource Name (ARN) of the schema.

        
      

      - **SchemaName** *(string) --* 

        The name of the schema.

        
      

      - **RegistryName** *(string) --* 

        The name of the registry that contains the schema.

        
  
  **Exceptions**
  
  *   :py:class:`Glue.Client.exceptions.InvalidInputException`

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

  
  *   :py:class:`Glue.Client.exceptions.EntityNotFoundException`

  
  *   :py:class:`Glue.Client.exceptions.ConcurrentModificationException`

  
  *   :py:class:`Glue.Client.exceptions.InternalServiceException`

  