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" : {
"ConnectionType" : String
,
"Description" : String
,
"Error" : String
,
"Name" : String
,
"Parameters" : {Key
: Value
, ...}
,
"Status" : String
,
"Tags" : [ Tag, ... ]
,
"Type" : String
}
}
YAML
Type: AWS::Athena::DataCatalog
Properties:
ConnectionType: String
Description: String
Error: String
Name: String
Parameters:
Key
: Value
Status: String
Tags:
- Tag
Type: String
Properties
ConnectionType
-
The type of connection for a
FEDERATED
data catalog (for example,REDSHIFT
,MYSQL
, orSQLSERVER
). For information about individual connectors, see Available data source connectors.Required: No
Type: String
Allowed values:
DYNAMODB | MYSQL | POSTGRESQL | REDSHIFT | ORACLE | SYNAPSE | SQLSERVER | DB2 | OPENSEARCH | BIGQUERY | GOOGLECLOUDSTORAGE | HBASE | DOCUMENTDB | CMDB | TPCDS | TIMESTREAM | SAPHANA | SNOWFLAKE | DATALAKEGEN2 | DB2AS400
Update requires: No interruption
Description
-
A description of the data catalog.
Required: No
Type: String
Minimum:
1
Maximum:
1024
Update requires: No interruption
Error
-
Text of the error that occurred during data catalog creation or deletion.
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
Minimum:
1
Maximum:
256
Update requires: Replacement
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 takes a catalog ID parameter and is required. Thecatalog_id
is the account ID of the AWS account to which the Glue catalog belongs.catalog-id=catalog_id
-
The
GLUE
data catalog type also applies to the defaultAwsDataCatalog
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
-
Status
-
The status of the creation or deletion of the data catalog.
-
The
LAMBDA
,GLUE
, andHIVE
data catalog types are created synchronously. Their status is eitherCREATE_COMPLETE
orCREATE_FAILED
. -
The
FEDERATED
data catalog type is created asynchronously.
Data catalog creation status:
-
CREATE_IN_PROGRESS
: Federated data catalog creation in progress. -
CREATE_COMPLETE
: Data catalog creation complete. -
CREATE_FAILED
: Data catalog could not be created. -
CREATE_FAILED_CLEANUP_IN_PROGRESS
: Federated data catalog creation failed and is being removed. -
CREATE_FAILED_CLEANUP_COMPLETE
: Federated data catalog creation failed and was removed. -
CREATE_FAILED_CLEANUP_FAILED
: Federated data catalog creation failed but could not be removed.
Data catalog deletion status:
-
DELETE_IN_PROGRESS
: Federated data catalog deletion in progress. -
DELETE_COMPLETE
: Federated data catalog deleted. -
DELETE_FAILED
: Federated data catalog could not be deleted.
Required: No
Type: String
Allowed values:
CREATE_IN_PROGRESS | CREATE_COMPLETE | CREATE_FAILED | CREATE_FAILED_CLEANUP_IN_PROGRESS | CREATE_FAILED_CLEANUP_COMPLETE | CREATE_FAILED_CLEANUP_FAILED | DELETE_IN_PROGRESS | DELETE_COMPLETE | DELETE_FAILED
Update requires: No interruption
-
-
The tags (key-value pairs) to associate with this resource.
Required: No
Type: Array 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
Allowed values:
LAMBDA | GLUE | HIVE | FEDERATED
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
Create 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"