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" :{
, "Tags" :Key
:Value
, ...}[ Tag, ... ]
, "Type" :String
} }
YAML
Type: AWS::Athena::DataCatalog Properties: Description:
String
Name:String
Parameters:Tags:
Key
:Value
- 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. Themetadata-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, orHIVE
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"