DataCatalog
¶
Source code in docs_src/capo_athena/types/data_catalog.py
connection_type
instance-attribute
¶
connection_type: NotRequired[ConnectionType]
The type of connection for a FEDERATED data catalog (for example, REDSHIFT, MYSQL, or SQLSERVER). For information about individual connectors, see Available data source connectors.
description
instance-attribute
¶
description: NotRequired[DescriptionString]
An optional description of the data catalog.
error
instance-attribute
¶
error: NotRequired[ErrorMessage]
Text of the error that occurred during data catalog creation or deletion.
name
instance-attribute
¶
name: CatalogNameString
The name of the data catalog. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at sign, or hyphen characters. The remainder of the length constraint of 256 is reserved for use by Athena.
parameters
instance-attribute
¶
parameters: NotRequired[ParametersMap]
Specifies the Lambda function or functions to use for the data catalog. This is a mapping whose values depend on the catalog type.
-
For the
HIVEdata catalog type, use the following syntax. Themetadata-functionparameter is required.The sdk-versionparameter is optional and defaults to the currently supported version.metadata-function=lambda_arn, sdk-version=version_number -
For the
LAMBDAdata catalog type, use one of the following sets of required parameters, but not both.-
If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.
metadata-function=lambda_arn, record-function=lambda_arn -
If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.
function=lambda_arn
-
-
The
GLUEtype takes a catalog ID parameter and is required. Thecatalog_idis the account ID of the Amazon Web Services account to which the Glue catalog belongs.catalog-id=catalog_id-
The
GLUEdata catalog type also applies to the defaultAwsDataCatalogthat already exists in your account, of which you can have only one and cannot modify.
-
-
The
FEDERATEDdata catalog type uses one of the following parameters, but not both. Useconnection-arnfor an existing Glue connection. Useconnection-typeandconnection-propertiesto specify the configuration setting for a new connection.-
connection-arn: -
connection-type:MYSQL|REDSHIFT|...., connection-properties:"" For
, use escaped JSON text, as in the following example."{\"spill_bucket\":\"my_spill\",\"spill_prefix\":\"athena-spill\",\"host\":\"abc12345.snowflakecomputing.com\",\"port\":\"1234\",\"warehouse\":\"DEV_WH\",\"database\":\"TEST\",\"schema\":\"PUBLIC\",\"SecretArn\":\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\"}"
-
status
instance-attribute
¶
status: NotRequired[DataCatalogStatus]
The status of the creation or deletion of the data catalog.
-
The
LAMBDA,GLUE, andHIVEdata catalog types are created synchronously. Their status is eitherCREATE_COMPLETEorCREATE_FAILED. -
The
FEDERATEDdata 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.
type
instance-attribute
¶
type: DataCatalogType
The type of data catalog to create: LAMBDA for a federated catalog, GLUE for an Glue Data Catalog, and HIVE for an external Apache Hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.