Glue / Client / create_catalog

create_catalog#

Glue.Client.create_catalog(**kwargs)#

Creates a new catalog in the Glue Data Catalog.

See also: AWS API Documentation

Request Syntax

response = client.create_catalog(
    Name='string',
    CatalogInput={
        'Description': 'string',
        'FederatedCatalog': {
            'Identifier': 'string',
            'ConnectionName': 'string'
        },
        'Parameters': {
            'string': 'string'
        },
        'TargetRedshiftCatalog': {
            'CatalogArn': 'string'
        },
        'CatalogProperties': {
            'DataLakeAccessProperties': {
                'DataLakeAccess': True|False,
                'DataTransferRole': 'string',
                'KmsKey': 'string',
                'CatalogType': 'string'
            },
            'CustomProperties': {
                'string': 'string'
            }
        },
        'CreateTableDefaultPermissions': [
            {
                'Principal': {
                    'DataLakePrincipalIdentifier': 'string'
                },
                'Permissions': [
                    'ALL'|'SELECT'|'ALTER'|'DROP'|'DELETE'|'INSERT'|'CREATE_DATABASE'|'CREATE_TABLE'|'DATA_LOCATION_ACCESS',
                ]
            },
        ],
        'CreateDatabaseDefaultPermissions': [
            {
                'Principal': {
                    'DataLakePrincipalIdentifier': 'string'
                },
                'Permissions': [
                    'ALL'|'SELECT'|'ALTER'|'DROP'|'DELETE'|'INSERT'|'CREATE_DATABASE'|'CREATE_TABLE'|'DATA_LOCATION_ACCESS',
                ]
            },
        ]
    },
    Tags={
        'string': 'string'
    }
)
Parameters:
  • Name (string) –

    [REQUIRED]

    The name of the catalog to create.

  • CatalogInput (dict) –

    [REQUIRED]

    A CatalogInput object that defines the metadata for the catalog.

    • Description (string) –

      Description string, not more than 2048 bytes long, matching the URI address multi-line string pattern. A description of the catalog.

    • FederatedCatalog (dict) –

      A FederatedCatalog object. A FederatedCatalog structure that references an entity outside the Glue Data Catalog, for example a Redshift database.

      • Identifier (string) –

        A unique identifier for the federated catalog.

      • ConnectionName (string) –

        The name of the connection to an external data source, for example a Redshift-federated catalog.

    • Parameters (dict) –

      A map array of key-value pairs that define the parameters and properties of the catalog.

      • (string) –

        • (string) –

    • TargetRedshiftCatalog (dict) –

      A TargetRedshiftCatalog object that describes a target catalog for resource linking.

      • CatalogArn (string) – [REQUIRED]

        The Amazon Resource Name (ARN) of the catalog resource.

    • CatalogProperties (dict) –

      A CatalogProperties object that specifies data lake access properties and other custom properties.

      • DataLakeAccessProperties (dict) –

        A DataLakeAccessProperties object that specifies properties to configure data lake access for your catalog resource in the Glue Data Catalog.

        • DataLakeAccess (boolean) –

          Turns on or off data lake access for Apache Spark applications that access Amazon Redshift databases in the Data Catalog from any non-Redshift engine, such as Amazon Athena, Amazon EMR, or Glue ETL.

        • DataTransferRole (string) –

          A role that will be assumed by Glue for transferring data into/out of the staging bucket during a query.

        • KmsKey (string) –

          An encryption key that will be used for the staging bucket that will be created along with the catalog.

        • CatalogType (string) –

          Specifies a federated catalog type for the native catalog resource. The currently supported type is aws:redshift.

      • CustomProperties (dict) –

        Additional key-value properties for the catalog, such as column statistics optimizations.

        • (string) –

          • (string) –

    • CreateTableDefaultPermissions (list) –

      An array of PrincipalPermissions objects. Creates a set of default permissions on the table(s) for principals. Used by Amazon Web Services Lake Formation. Typically should be explicitly set as an empty list.

      • (dict) –

        Permissions granted to a principal.

        • Principal (dict) –

          The principal who is granted permissions.

          • DataLakePrincipalIdentifier (string) –

            An identifier for the Lake Formation principal.

        • Permissions (list) –

          The permissions that are granted to the principal.

          • (string) –

    • CreateDatabaseDefaultPermissions (list) –

      An array of PrincipalPermissions objects. Creates a set of default permissions on the database(s) for principals. Used by Amazon Web Services Lake Formation. Typically should be explicitly set as an empty list.

      • (dict) –

        Permissions granted to a principal.

        • Principal (dict) –

          The principal who is granted permissions.

          • DataLakePrincipalIdentifier (string) –

            An identifier for the Lake Formation principal.

        • Permissions (list) –

          The permissions that are granted to the principal.

          • (string) –

  • Tags (dict) –

    A map array of key-value pairs, not more than 50 pairs. Each key is a UTF-8 string, not less than 1 or more than 128 bytes long. Each value is a UTF-8 string, not more than 256 bytes long. The tags you assign to the catalog.

    • (string) –

      • (string) –

Return type:

dict

Returns:

Response Syntax

{}

Response Structure

  • (dict) –

Exceptions

  • Glue.Client.exceptions.InvalidInputException

  • Glue.Client.exceptions.AlreadyExistsException

  • Glue.Client.exceptions.ResourceNumberLimitExceededException

  • Glue.Client.exceptions.InternalServiceException

  • Glue.Client.exceptions.OperationTimeoutException

  • Glue.Client.exceptions.GlueEncryptionException

  • Glue.Client.exceptions.ConcurrentModificationException

  • Glue.Client.exceptions.AccessDeniedException

  • Glue.Client.exceptions.EntityNotFoundException

  • Glue.Client.exceptions.FederatedResourceAlreadyExistsException

  • Glue.Client.exceptions.FederationSourceException