:doc:`DataExchange <../../dataexchange>` / Client / send_data_set_notification

**************************
send_data_set_notification
**************************



.. py:method:: DataExchange.Client.send_data_set_notification(**kwargs)

  

  The type of event associated with the data set.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/dataexchange-2017-07-25/SendDataSetNotification>`_  


  **Request Syntax**
  ::

    response = client.send_data_set_notification(
        Scope={
            'LakeFormationTagPolicies': [
                {
                    'Database': 'string',
                    'Table': 'string'
                },
            ],
            'RedshiftDataShares': [
                {
                    'Arn': 'string',
                    'Database': 'string',
                    'Function': 'string',
                    'Table': 'string',
                    'Schema': 'string',
                    'View': 'string'
                },
            ],
            'S3DataAccesses': [
                {
                    'KeyPrefixes': [
                        'string',
                    ],
                    'Keys': [
                        'string',
                    ]
                },
            ]
        },
        ClientToken='string',
        Comment='string',
        DataSetId='string',
        Details={
            'DataUpdate': {
                'DataUpdatedAt': datetime(2015, 1, 1)
            },
            'Deprecation': {
                'DeprecationAt': datetime(2015, 1, 1)
            },
            'SchemaChange': {
                'Changes': [
                    {
                        'Name': 'string',
                        'Type': 'ADD'|'REMOVE'|'MODIFY',
                        'Description': 'string'
                    },
                ],
                'SchemaChangeAt': datetime(2015, 1, 1)
            }
        },
        Type='DATA_DELAY'|'DATA_UPDATE'|'DEPRECATION'|'SCHEMA_CHANGE'
    )
    
  :type Scope: dict
  :param Scope: 

    Affected scope of this notification such as the underlying resources affected by the notification event.

    

  
    - **LakeFormationTagPolicies** *(list) --* 

      Underlying LF resources that will be affected by this notification.

      

    
      - *(dict) --* 

        Extra details specific to the affected scope in this LF data set.

        

      
        - **Database** *(string) --* 

          The underlying Glue database that the notification is referring to.

          

        
        - **Table** *(string) --* 

          The underlying Glue table that the notification is referring to.

          

        
      
  
    - **RedshiftDataShares** *(list) --* 

      Underlying Redshift resources that will be affected by this notification.

      

    
      - *(dict) --* 

        Extra details specific to the affected scope in this Redshift data set.

        

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

          The ARN of the underlying Redshift data share that is being affected by this notification.

          

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

          The database name in the Redshift data share that is being affected by this notification.

          

        
        - **Function** *(string) --* 

          A function name in the Redshift database that is being affected by this notification.

          

        
        - **Table** *(string) --* 

          A table name in the Redshift database that is being affected by this notification.

          

        
        - **Schema** *(string) --* 

          A schema name in the Redshift database that is being affected by this notification.

          

        
        - **View** *(string) --* 

          A view name in the Redshift database that is being affected by this notification.

          

        
      
  
    - **S3DataAccesses** *(list) --* 

      Underlying S3 resources that will be affected by this notification.

      

    
      - *(dict) --* 

        Extra details specific to the affected scope in this S3 Data Access data set.

        

      
        - **KeyPrefixes** *(list) --* 

          A list of the key prefixes affected by this notification. This can have up to 50 entries.

          

        
          - *(string) --* 

          
      
        - **Keys** *(list) --* 

          A list of the keys affected by this notification. This can have up to 50 entries.

          

        
          - *(string) --* 

          
      
      
  
  
  :type ClientToken: string
  :param ClientToken: 

    Idempotency key for the notification, this key allows us to deduplicate notifications that are sent in quick succession erroneously.

    This field is autopopulated if not provided.

  
  :type Comment: string
  :param Comment: 

    Free-form text field for providers to add information about their notifications.

    

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

    Affected data set of the notification.

    

  
  :type Details: dict
  :param Details: 

    Extra details specific to this notification type.

    

  
    - **DataUpdate** *(dict) --* 

      Extra details specific to a data update type notification.

      

    
      - **DataUpdatedAt** *(datetime) --* 

        A datetime in the past when the data was updated. This typically means that the underlying resource supporting the data set was updated.

        

      
    
    - **Deprecation** *(dict) --* 

      Extra details specific to a deprecation type notification.

      

    
      - **DeprecationAt** *(datetime) --* **[REQUIRED]** 

        A datetime in the future when the data set will be deprecated.

        

      
    
    - **SchemaChange** *(dict) --* 

      Extra details specific to a schema change type notification.

      

    
      - **Changes** *(list) --* 

        List of schema changes happening in the scope of this notification. This can have up to 100 entries.

        

      
        - *(dict) --* 

          Object encompassing information about a schema change to a single, particular field, a notification can have up to 100 of these.

          

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

            Name of the changing field. This value can be up to 255 characters long.

            

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

            Is the field being added, removed, or modified?

            

          
          - **Description** *(string) --* 

            Description of what's changing about this field. This value can be up to 512 characters long.

            

          
        
    
      - **SchemaChangeAt** *(datetime) --* **[REQUIRED]** 

        A date in the future when the schema change is taking effect.

        

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

    The type of the notification. Describing the kind of event the notification is alerting you to.

    

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`DataExchange.Client.exceptions.ResourceNotFoundException`

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

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

  
  *   :py:class:`DataExchange.Client.exceptions.ConflictException`

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

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

  