Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Catalogs API

Focus mode
Catalogs API - AWS Glue

The Catalogs API describes the APIs for creating, deleting, locating, updating, and listing catalogs.

Data types

Catalog structure

The catalog object represents a logical grouping of databases in the AWS Glue Data Catalog or a federated source. You can now create a Redshift-federated catalog or a catalog containing resource links to Redshift databases in another account or region.

Fields
  • CatalogId – Catalog id string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    The ID of the catalog. To grant access to the default catalog, this field should not be provided.

  • NameRequired: UTF-8 string, not less than 1 or more than 64 bytes long, matching the Custom string pattern #25.

    The name of the catalog. Cannot be the same as the account ID.

  • ResourceArn – UTF-8 string.

    The Amazon Resource Name (ARN) assigned to the catalog resource.

  • Description – Description string, not more than 2048 bytes long, matching the URI address multi-line string pattern.

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

  • Parameters – A map array of key-value pairs.

    Each key is a Key string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    Each value is a UTF-8 string, not more than 512000 bytes long.

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

  • CreateTime – Timestamp.

    The time at which the catalog was created.

  • UpdateTime – Timestamp.

    The time at which the catalog was last updated.

  • TargetRedshiftCatalog – A TargetRedshiftCatalog object.

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

  • FederatedCatalog – A FederatedCatalog object.

    A FederatedCatalog object that points to an entity outside the AWS Glue Data Catalog.

  • CatalogProperties – A CatalogPropertiesOutput object.

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

  • CreateTableDefaultPermissions – An array of PrincipalPermissions objects.

    An array of PrincipalPermissions objects. Creates a set of default permissions on the table(s) for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations.

  • CreateDatabaseDefaultPermissions – An array of PrincipalPermissions objects.

    An array of PrincipalPermissions objects. Creates a set of default permissions on the database(s) for principals. Used by AWS Lake Formation. Not used in the normal course of AWS Glue operations.

CatalogInput structure

A structure that describes catalog properties.

Fields
  • Description – Description string, not more than 2048 bytes long, matching the URI address multi-line string pattern.

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

  • FederatedCatalog – A FederatedCatalog object.

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

  • Parameters – A map array of key-value pairs.

    Each key is a Key string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    Each value is a UTF-8 string, not more than 512000 bytes long.

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

  • TargetRedshiftCatalog – A TargetRedshiftCatalog object.

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

  • CatalogProperties – A CatalogProperties object.

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

  • CreateTableDefaultPermissions – An array of PrincipalPermissions objects.

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

  • CreateDatabaseDefaultPermissions – An array of PrincipalPermissions objects.

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

TargetRedshiftCatalog structure

A structure that describes a target catalog for resource linking.

Fields
  • CatalogArnRequired: UTF-8 string.

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

CatalogProperties structure

A structure that specifies data lake access properties and other custom properties.

Fields
  • DataLakeAccessProperties – A DataLakeAccessProperties object.

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

  • CustomProperties – A map array of key-value pairs.

    Each key is a Key string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    Each value is a UTF-8 string, not more than 512000 bytes long.

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

CatalogPropertiesOutput structure

Property attributes that include configuration properties for the catalog resource.

Fields
  • DataLakeAccessProperties – A DataLakeAccessPropertiesOutput object.

    A DataLakeAccessProperties object with input properties to configure data lake access for your catalog resource in the AWS Glue Data Catalog.

  • CustomProperties – A map array of key-value pairs.

    Each key is a Key string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    Each value is a UTF-8 string, not more than 512000 bytes long.

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

DataLakeAccessProperties structure

Input properties to configure data lake access for your catalog resource in the AWS Glue Data Catalog.

Fields
  • 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 AWS Glue ETL.

  • DataTransferRole – UTF-8 string, matching the Custom string pattern #51.

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

  • KmsKey – UTF-8 string.

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

  • CatalogType – UTF-8 string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

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

DataLakeAccessPropertiesOutput structure

The output properties of the data lake access configuration for your catalog resource in the AWS Glue Data Catalog.

Fields
  • DataLakeAccess – Boolean.

    Turns on or off data lake access for Apache Spark applications that access Amazon Redshift databases in the Data Catalog.

  • DataTransferRole – UTF-8 string, matching the Custom string pattern #51.

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

  • KmsKey – UTF-8 string.

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

  • ManagedWorkgroupName – UTF-8 string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    The managed Redshift Serverless compute name that is created for your catalog resource.

  • ManagedWorkgroupStatus – UTF-8 string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    The managed Redshift Serverless compute status.

  • RedshiftDatabaseName – UTF-8 string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    The default Redshift database resource name in the managed compute.

  • StatusMessage – UTF-8 string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    A message that gives more detailed information about the managed workgroup status.

  • CatalogType – UTF-8 string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

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

FederatedCatalog structure

A catalog that points to an entity outside the AWS Glue Data Catalog.

Fields
  • Identifier – UTF-8 string, not less than 1 or more than 512 bytes long, matching the Single-line string pattern.

    A unique identifier for the federated catalog.

  • ConnectionName – UTF-8 string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

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

Operations

CreateCatalog action (Python: create_catalog)

Creates a new catalog in the AWS Glue Data Catalog.

Request
  • NameRequired: UTF-8 string, not less than 1 or more than 64 bytes long, matching the Custom string pattern #25.

    The name of the catalog to create.

  • CatalogInputRequired: A CatalogInput object.

    A CatalogInput object that defines the metadata for the catalog.

  • Tags – 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.

    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.

Response
  • No Response parameters.

Errors
  • InvalidInputException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

  • AccessDeniedException

  • EntityNotFoundException

  • FederatedResourceAlreadyExistsException

  • FederationSourceException

UpdateCatalog action (Python: update_catalog)

Updates an existing catalog's properties in the AWS Glue Data Catalog.

Request
  • CatalogIdRequired: Catalog id string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    The ID of the catalog.

  • CatalogInputRequired: A CatalogInput object.

    A CatalogInput object specifying the new properties of an existing catalog.

Response
  • No Response parameters.

Errors
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

  • AccessDeniedException

  • FederationSourceException

DeleteCatalog action (Python: delete_catalog)

Removes the specified catalog from the AWS Glue Data Catalog.

After completing this operation, you no longer have access to the databases, tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted catalog. AWS Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources before calling the DeleteCatalog operation, use DeleteTableVersion (or BatchDeleteTableVersion), DeletePartition (or BatchDeletePartition), DeleteTable (or BatchDeleteTable), DeleteUserDefinedFunction and DeleteDatabase to delete any resources that belong to the catalog.

Request
  • CatalogIdRequired: Catalog id string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    The ID of the catalog.

Response
  • No Response parameters.

Errors
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

  • AccessDeniedException

  • FederationSourceException

GetCatalog action (Python: get_catalog)

The name of the Catalog to retrieve. This should be all lowercase.

Request
  • CatalogIdRequired: Catalog id string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    The ID of the parent catalog in which the catalog resides. If none is provided, the AWS Account Number is used by default.

Response
  • Catalog – A Catalog object.

    A Catalog object. The definition of the specified catalog in the AWS Glue Data Catalog.

Errors
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • AccessDeniedException

  • EntityNotFoundException

  • FederationSourceException

  • FederationSourceRetryableException

GetCatalogs action (Python: get_catalogs)

Retrieves all catalogs defined in a catalog in the AWS Glue Data Catalog. For a Redshift-federated catalog use case, this operation returns the list of catalogs mapped to Redshift databases in the Redshift namespace catalog.

Request
  • ParentCatalogId – Catalog id string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.

    The ID of the parent catalog in which the catalog resides. If none is provided, the AWS Account Number is used by default.

  • NextToken – UTF-8 string.

    A continuation token, if this is a continuation call.

  • MaxResults – Number (integer), not less than 1 or more than 1000.

    The maximum number of catalogs to return in one response.

  • Recursive – Boolean.

    When specified as true, iterates through the account and returns all catalog resources (including top-level resources and child resources)

Response
  • CatalogListRequired: An array of Catalog objects.

    An array of Catalog objects. A list of Catalog objects from the specified parent catalog.

  • NextToken – UTF-8 string.

    A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

Errors
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • AccessDeniedException

  • EntityNotFoundException

  • FederationSourceException

  • FederationSourceRetryableException

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.