AWS::Athena::DataCatalog - AWS CloudFormation

AWS::Athena::DataCatalog

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.

Syntax

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

JSON

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

YAML

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

Properties

Description

A description of the data catalog.

Required: No

Type: String

Update requires: No interruption

Name

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

Required: Yes

Type: String

Update requires: No interruption

Parameters

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.

      function=lambda_arn

  • The GLUE type has no parameters.

Required: No

Type: Map of String

Update requires: No interruption

Tags

An optional list of comma separated tags (key-value pairs) that are custom attributes for the data catalog.

Required: No

Type: List of Tag

Update requires: No interruption

Type

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

Update requires: No interruption

Return values

Ref

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.

Examples

Creating an Athena Data Catalog

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

JSON

{ "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" } } } } }

YAML

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"