:doc:`DataZone <../../datazone>` / Client / get_data_source

***************
get_data_source
***************



.. py:method:: DataZone.Client.get_data_source(**kwargs)

  

  Gets an Amazon DataZone data source.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/GetDataSource>`_  


  **Request Syntax**
  ::

    response = client.get_data_source(
        domainIdentifier='string',
        identifier='string'
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The ID of the Amazon DataZone domain in which the data source exists.

    

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

    The ID of the Amazon DataZone data source.

    

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

    
    ::

      {
          'id': 'string',
          'status': 'CREATING'|'FAILED_CREATION'|'READY'|'UPDATING'|'FAILED_UPDATE'|'RUNNING'|'DELETING'|'FAILED_DELETION',
          'type': 'string',
          'name': 'string',
          'description': 'string',
          'domainId': 'string',
          'projectId': 'string',
          'environmentId': 'string',
          'connectionId': 'string',
          'configuration': {
              'glueRunConfiguration': {
                  'accountId': 'string',
                  'region': 'string',
                  'dataAccessRole': 'string',
                  'relationalFilterConfigurations': [
                      {
                          'databaseName': 'string',
                          'schemaName': 'string',
                          'filterExpressions': [
                              {
                                  'type': 'INCLUDE'|'EXCLUDE',
                                  'expression': 'string'
                              },
                          ]
                      },
                  ],
                  'autoImportDataQualityResult': True|False,
                  'catalogName': 'string'
              },
              'redshiftRunConfiguration': {
                  'accountId': 'string',
                  'region': 'string',
                  'dataAccessRole': 'string',
                  'relationalFilterConfigurations': [
                      {
                          'databaseName': 'string',
                          'schemaName': 'string',
                          'filterExpressions': [
                              {
                                  'type': 'INCLUDE'|'EXCLUDE',
                                  'expression': 'string'
                              },
                          ]
                      },
                  ],
                  'redshiftCredentialConfiguration': {
                      'secretManagerArn': 'string'
                  },
                  'redshiftStorage': {
                      'redshiftClusterSource': {
                          'clusterName': 'string'
                      },
                      'redshiftServerlessSource': {
                          'workgroupName': 'string'
                      }
                  }
              },
              'sageMakerRunConfiguration': {
                  'accountId': 'string',
                  'region': 'string',
                  'trackingAssets': {
                      'string': [
                          'string',
                      ]
                  }
              }
          },
          'recommendation': {
              'enableBusinessNameGeneration': True|False
          },
          'enableSetting': 'ENABLED'|'DISABLED',
          'publishOnImport': True|False,
          'assetFormsOutput': [
              {
                  'formName': 'string',
                  'typeName': 'string',
                  'typeRevision': 'string',
                  'content': 'string'
              },
          ],
          'schedule': {
              'timezone': 'UTC'|'AFRICA_JOHANNESBURG'|'AMERICA_MONTREAL'|'AMERICA_SAO_PAULO'|'ASIA_BAHRAIN'|'ASIA_BANGKOK'|'ASIA_CALCUTTA'|'ASIA_DUBAI'|'ASIA_HONG_KONG'|'ASIA_JAKARTA'|'ASIA_KUALA_LUMPUR'|'ASIA_SEOUL'|'ASIA_SHANGHAI'|'ASIA_SINGAPORE'|'ASIA_TAIPEI'|'ASIA_TOKYO'|'AUSTRALIA_MELBOURNE'|'AUSTRALIA_SYDNEY'|'CANADA_CENTRAL'|'CET'|'CST6CDT'|'ETC_GMT'|'ETC_GMT0'|'ETC_GMT_ADD_0'|'ETC_GMT_ADD_1'|'ETC_GMT_ADD_10'|'ETC_GMT_ADD_11'|'ETC_GMT_ADD_12'|'ETC_GMT_ADD_2'|'ETC_GMT_ADD_3'|'ETC_GMT_ADD_4'|'ETC_GMT_ADD_5'|'ETC_GMT_ADD_6'|'ETC_GMT_ADD_7'|'ETC_GMT_ADD_8'|'ETC_GMT_ADD_9'|'ETC_GMT_NEG_0'|'ETC_GMT_NEG_1'|'ETC_GMT_NEG_10'|'ETC_GMT_NEG_11'|'ETC_GMT_NEG_12'|'ETC_GMT_NEG_13'|'ETC_GMT_NEG_14'|'ETC_GMT_NEG_2'|'ETC_GMT_NEG_3'|'ETC_GMT_NEG_4'|'ETC_GMT_NEG_5'|'ETC_GMT_NEG_6'|'ETC_GMT_NEG_7'|'ETC_GMT_NEG_8'|'ETC_GMT_NEG_9'|'EUROPE_DUBLIN'|'EUROPE_LONDON'|'EUROPE_PARIS'|'EUROPE_STOCKHOLM'|'EUROPE_ZURICH'|'ISRAEL'|'MEXICO_GENERAL'|'MST7MDT'|'PACIFIC_AUCKLAND'|'US_CENTRAL'|'US_EASTERN'|'US_MOUNTAIN'|'US_PACIFIC',
              'schedule': 'string'
          },
          'lastRunStatus': 'REQUESTED'|'RUNNING'|'FAILED'|'PARTIALLY_SUCCEEDED'|'SUCCESS',
          'lastRunAt': datetime(2015, 1, 1),
          'lastRunErrorMessage': {
              'errorType': 'ACCESS_DENIED_EXCEPTION'|'CONFLICT_EXCEPTION'|'INTERNAL_SERVER_EXCEPTION'|'RESOURCE_NOT_FOUND_EXCEPTION'|'SERVICE_QUOTA_EXCEEDED_EXCEPTION'|'THROTTLING_EXCEPTION'|'VALIDATION_EXCEPTION',
              'errorDetail': 'string'
          },
          'lastRunAssetCount': 123,
          'errorMessage': {
              'errorType': 'ACCESS_DENIED_EXCEPTION'|'CONFLICT_EXCEPTION'|'INTERNAL_SERVER_EXCEPTION'|'RESOURCE_NOT_FOUND_EXCEPTION'|'SERVICE_QUOTA_EXCEEDED_EXCEPTION'|'THROTTLING_EXCEPTION'|'VALIDATION_EXCEPTION',
              'errorDetail': 'string'
          },
          'createdAt': datetime(2015, 1, 1),
          'updatedAt': datetime(2015, 1, 1),
          'selfGrantStatus': {
              'glueSelfGrantStatus': {
                  'selfGrantStatusDetails': [
                      {
                          'databaseName': 'string',
                          'schemaName': 'string',
                          'status': 'GRANT_PENDING'|'REVOKE_PENDING'|'GRANT_IN_PROGRESS'|'REVOKE_IN_PROGRESS'|'GRANTED'|'GRANT_FAILED'|'REVOKE_FAILED',
                          'failureCause': 'string'
                      },
                  ]
              },
              'redshiftSelfGrantStatus': {
                  'selfGrantStatusDetails': [
                      {
                          'databaseName': 'string',
                          'schemaName': 'string',
                          'status': 'GRANT_PENDING'|'REVOKE_PENDING'|'GRANT_IN_PROGRESS'|'REVOKE_IN_PROGRESS'|'GRANTED'|'GRANT_FAILED'|'REVOKE_FAILED',
                          'failureCause': 'string'
                      },
                  ]
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **id** *(string) --* 

        The ID of the data source.

        
      

      - **status** *(string) --* 

        The status of the data source.

        
      

      - **type** *(string) --* 

        The type of the data source.

        
      

      - **name** *(string) --* 

        The name of the data source.

        
      

      - **description** *(string) --* 

        The description of the data source.

        
      

      - **domainId** *(string) --* 

        The ID of the Amazon DataZone domain in which the data source exists.

        
      

      - **projectId** *(string) --* 

        The ID of the project where the data source creates and publishes assets.

        
      

      - **environmentId** *(string) --* 

        The ID of the environment where this data source creates and publishes assets,

        
      

      - **connectionId** *(string) --* 

        The ID of the connection.

        
      

      - **configuration** *(dict) --* 

        The configuration of the data source.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``glueRunConfiguration``, ``redshiftRunConfiguration``, ``sageMakerRunConfiguration``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


      
        

        - **glueRunConfiguration** *(dict) --* 

          The configuration of the Amazon Web Services Glue data source.

          
          

          - **accountId** *(string) --* 

            The Amazon Web Services account ID included in the configuration details of the Amazon Web Services Glue data source.

            
          

          - **region** *(string) --* 

            The Amazon Web Services region included in the configuration details of the Amazon Web Services Glue data source.

            
          

          - **dataAccessRole** *(string) --* 

            The data access role included in the configuration details of the Amazon Web Services Glue data source.

            
          

          - **relationalFilterConfigurations** *(list) --* 

            The relational filter configurations included in the configuration details of the Amazon Web Services Glue data source.

            
            

            - *(dict) --* 

              The relational filter configuration for the data source.

              
              

              - **databaseName** *(string) --* 

                The database name specified in the relational filter configuration for the data source.

                
              

              - **schemaName** *(string) --* 

                The schema name specified in the relational filter configuration for the data source.

                
              

              - **filterExpressions** *(list) --* 

                The filter expressions specified in the relational filter configuration for the data source.

                
                

                - *(dict) --* 

                  A filter expression in Amazon DataZone.

                  
                  

                  - **type** *(string) --* 

                    The search filter explresison type.

                    
                  

                  - **expression** *(string) --* 

                    The search filter expression.

                    
              
            
          
        
          

          - **autoImportDataQualityResult** *(boolean) --* 

            Specifies whether to automatically import data quality metrics as part of the data source run.

            
          

          - **catalogName** *(string) --* 

            The catalog name in the Amazon Web Services Glue run configuration.

            
      
        

        - **redshiftRunConfiguration** *(dict) --* 

          The configuration of the Amazon Redshift data source.

          
          

          - **accountId** *(string) --* 

            The ID of the Amazon Web Services account included in the configuration details of the Amazon Redshift data source.

            
          

          - **region** *(string) --* 

            The Amazon Web Services region included in the configuration details of the Amazon Redshift data source.

            
          

          - **dataAccessRole** *(string) --* 

            The data access role included in the configuration details of the Amazon Redshift data source.

            
          

          - **relationalFilterConfigurations** *(list) --* 

            The relational filger configurations included in the configuration details of the Amazon Redshift data source.

            
            

            - *(dict) --* 

              The relational filter configuration for the data source.

              
              

              - **databaseName** *(string) --* 

                The database name specified in the relational filter configuration for the data source.

                
              

              - **schemaName** *(string) --* 

                The schema name specified in the relational filter configuration for the data source.

                
              

              - **filterExpressions** *(list) --* 

                The filter expressions specified in the relational filter configuration for the data source.

                
                

                - *(dict) --* 

                  A filter expression in Amazon DataZone.

                  
                  

                  - **type** *(string) --* 

                    The search filter explresison type.

                    
                  

                  - **expression** *(string) --* 

                    The search filter expression.

                    
              
            
          
        
          

          - **redshiftCredentialConfiguration** *(dict) --* 

            The details of the credentials required to access an Amazon Redshift cluster.

            
            

            - **secretManagerArn** *(string) --* 

              The ARN of a secret manager for an Amazon Redshift cluster.

              
        
          

          - **redshiftStorage** *(dict) --* 

            The details of the Amazon Redshift storage as part of the configuration of an Amazon Redshift data source run.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``redshiftClusterSource``, ``redshiftServerlessSource``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **redshiftClusterSource** *(dict) --* 

              The details of the Amazon Redshift cluster source.

              
              

              - **clusterName** *(string) --* 

                The name of an Amazon Redshift cluster.

                
          
            

            - **redshiftServerlessSource** *(dict) --* 

              The details of the Amazon Redshift Serverless workgroup source.

              
              

              - **workgroupName** *(string) --* 

                The name of the Amazon Redshift Serverless workgroup.

                
          
        
      
        

        - **sageMakerRunConfiguration** *(dict) --* 

          The Amazon SageMaker run configuration.

          
          

          - **accountId** *(string) --* 

            The Amazon SageMaker account ID.

            
          

          - **region** *(string) --* 

            The Amazon SageMaker Region.

            
          

          - **trackingAssets** *(dict) --* 

            The tracking assets of the Amazon SageMaker.

            
            

            - *(string) --* 
              

              - *(list) --* 
                

                - *(string) --* 
            
        
      
      
    
      

      - **recommendation** *(dict) --* 

        The recommendation configuration of the data source.

        
        

        - **enableBusinessNameGeneration** *(boolean) --* 

          Specifies whether automatic business name generation is to be enabled or not as part of the recommendation configuration.

          
    
      

      - **enableSetting** *(string) --* 

        Specifies whether this data source is enabled or not.

        
      

      - **publishOnImport** *(boolean) --* 

        Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.

        
      

      - **assetFormsOutput** *(list) --* 

        The metadata forms attached to the assets created by this data source.

        
        

        - *(dict) --* 

          The details of a metadata form.

          
          

          - **formName** *(string) --* 

            The name of the metadata form.

            
          

          - **typeName** *(string) --* 

            The name of the metadata form type.

            
          

          - **typeRevision** *(string) --* 

            The revision of the metadata form type.

            
          

          - **content** *(string) --* 

            The content of the metadata form.

            
      
    
      

      - **schedule** *(dict) --* 

        The schedule of the data source runs.

        
        

        - **timezone** *(string) --* 

          The timezone of the data source run.

          
        

        - **schedule** *(string) --* 

          The schedule of the data source runs.

          
    
      

      - **lastRunStatus** *(string) --* 

        The status of the last run of the data source.

        
      

      - **lastRunAt** *(datetime) --* 

        The timestamp of the last run of the data source.

        
      

      - **lastRunErrorMessage** *(dict) --* 

        Specifies the error message that is returned if the operation cannot be successfully completed.

        
        

        - **errorType** *(string) --* 

          The type of the error message that is returned if the operation cannot be successfully completed.

          
        

        - **errorDetail** *(string) --* 

          The details of the error message that is returned if the operation cannot be successfully completed.

          
    
      

      - **lastRunAssetCount** *(integer) --* 

        The number of assets created by the data source during its last run.

        
      

      - **errorMessage** *(dict) --* 

        Specifies the error message that is returned if the operation cannot be successfully completed.

        
        

        - **errorType** *(string) --* 

          The type of the error message that is returned if the operation cannot be successfully completed.

          
        

        - **errorDetail** *(string) --* 

          The details of the error message that is returned if the operation cannot be successfully completed.

          
    
      

      - **createdAt** *(datetime) --* 

        The timestamp of when the data source was created.

        
      

      - **updatedAt** *(datetime) --* 

        The timestamp of when the data source was updated.

        
      

      - **selfGrantStatus** *(dict) --* 

        Specifies the status of the self-granting functionality.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``glueSelfGrantStatus``, ``redshiftSelfGrantStatus``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


      
        

        - **glueSelfGrantStatus** *(dict) --* 

          The details for the self granting status for a Glue data source.

          
          

          - **selfGrantStatusDetails** *(list) --* 

            The details for the self granting status for a Glue data source.

            
            

            - *(dict) --* 

              The details for the self granting status.

              
              

              - **databaseName** *(string) --* 

                The name of the database used for the data source.

                
              

              - **schemaName** *(string) --* 

                The name of the schema used in the data source.

                
              

              - **status** *(string) --* 

                The self granting status of the data source.

                
              

              - **failureCause** *(string) --* 

                The reason for why the operation failed.

                
          
        
      
        

        - **redshiftSelfGrantStatus** *(dict) --* 

          The details for the self granting status for an Amazon Redshift data source.

          
          

          - **selfGrantStatusDetails** *(list) --* 

            The details for the self granting status for an Amazon Redshift data source.

            
            

            - *(dict) --* 

              The details for the self granting status.

              
              

              - **databaseName** *(string) --* 

                The name of the database used for the data source.

                
              

              - **schemaName** *(string) --* 

                The name of the schema used in the data source.

                
              

              - **status** *(string) --* 

                The self granting status of the data source.

                
              

              - **failureCause** *(string) --* 

                The reason for why the operation failed.

                
          
        
      
    
  
  **Exceptions**
  
  *   :py:class:`DataZone.Client.exceptions.InternalServerException`

  
  *   :py:class:`DataZone.Client.exceptions.ResourceNotFoundException`

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

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

  
  *   :py:class:`DataZone.Client.exceptions.ServiceQuotaExceededException`

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

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

  
  *   :py:class:`DataZone.Client.exceptions.UnauthorizedException`

  