AWS::Athena::DataCatalog - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).


The AWS::Athena::DataCatalog resource specifies an Amazon Athena data catalog, which contains a name, description, type, parameters, and tags. For more information, see DataCatalog in the Amazon Athena API Reference.


To declare this entity in your Amazon CloudFormation template, use the following syntax:


{ "Type" : "AWS::Athena::DataCatalog", "Properties" : { "Description" : String, "Name" : String, "Parameters" : {Key: Value, ...}, "Tags" : [ Tag, ... ], "Type" : String } }


Type: AWS::Athena::DataCatalog Properties: Description: String Name: String Parameters: Key: Value Tags: - Tag Type: String



A description of the data catalog.

Required: No

Type: String

Minimum: 1

Maximum: 1024

Update requires: No interruption


The name of the data catalog. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.

Required: Yes

Type: String

Minimum: 1

Maximum: 256

Update requires: Replacement


Specifies the Lambda function or functions to use for the data catalog. The mapping used depends on the catalog type.

  • The HIVE data catalog type uses the following syntax. The metadata-function parameter is required. The sdk-version parameter is optional and defaults to the currently supported version.

    metadata-function=lambda_arn, sdk-version=version_number

  • The LAMBDA data catalog type uses one of the following sets of required parameters, but not both.

    • When one Lambda function processes metadata and another Lambda function reads data, the following syntax is used. Both parameters are required.

      metadata-function=lambda_arn, record-function=lambda_arn

    • A composite Lambda function that processes both metadata and data uses the following syntax.


  • The GLUE type takes a catalog ID parameter and is required. The catalog_id is the account ID of the Amazon Web Services account to which the Glue catalog belongs.


    • The GLUE data catalog type also applies to the default AwsDataCatalog that already exists in your account, of which you can have only one and cannot modify.

Required: No

Type: Object of String

Pattern: .*

Maximum: 51200

Update requires: No interruption


The tags (key-value pairs) to associate with this resource.

Required: No

Type: Array of Tag

Update requires: No interruption


The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.

Required: Yes

Type: String

Allowed values: LAMBDA | GLUE | HIVE

Update requires: No interruption

Return values


When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the name of the data catalog.

For more information about using the Ref function, see Ref.


Creating an Athena Data Catalog

The following example template creates a custom Hive data catalog in Athena.


{ "Resources":{ "MyAthenaDataCatalog":{ "Type":"AWS::Athena::DataCatalog", "Properties":{ "Name":"MyCustomDataCatalog", "Type":"HIVE", "Description":"Custom Hive Catalog Description", "Tags":[ { "Key":"key1", "Value":"value1" }, { "Key":"key2", "Value":"value2" } ], "Parameters":{ "metadata-function":"arn:aws:lambda:us-west-2:111122223333:function:lambdaname" } } } } }


Resources: MyAthenaDataCatalog: Type: AWS::Athena::DataCatalog Properties: Name: MyCustomDataCatalog Type: HIVE Description: Custom Hive Catalog Description Tags: - Key: "key1" Value: "value1" - Key: "key2" Value: "value2" Parameters: metadata-function: "arn:aws:lambda:us-west-2:111122223333:function:lambdaname"