Class CfnDataCatalog

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:55.756Z") @Stability(Stable) public class CfnDataCatalog extends CfnResource implements IInspectable
A 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 .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.athena.*;
 CfnDataCatalog cfnDataCatalog = CfnDataCatalog.Builder.create(this, "MyCfnDataCatalog")
         .name("name")
         .type("type")
         // the properties below are optional
         .description("description")
         .parameters(Map.of(
                 "parametersKey", "parameters"))
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnDataCatalog

      protected CfnDataCatalog(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnDataCatalog

      protected CfnDataCatalog(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnDataCatalog

      @Stability(Stable) public CfnDataCatalog(@NotNull Construct scope, @NotNull String id, @NotNull CfnDataCatalogProps props)
      Create a new AWS::Athena::DataCatalog.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      The tags (key-value pairs) to associate with this resource.
    • getName

      @Stability(Stable) @NotNull public String getName()
      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.

    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      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.

    • getType

      @Stability(Stable) @NotNull public String getType()
      The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.
    • setType

      @Stability(Stable) public void setType(@NotNull String value)
      The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore.
    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      A description of the data catalog.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      A description of the data catalog.
    • getParameters

      @Stability(Stable) @Nullable public Object getParameters()
      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 takes a catalog ID parameter and is required. The *catalog_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 default AwsDataCatalog that already exists in your account, of which you can have only one and cannot modify.
      • Queries that specify a GLUE data catalog other than the default AwsDataCatalog must be run on Athena engine version 2.
      • In Regions where Athena engine version 2 is not available, creating new GLUE data catalogs results in an INVALID_INPUT error.
    • setParameters

      @Stability(Stable) public void setParameters(@Nullable IResolvable value)
      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 takes a catalog ID parameter and is required. The *catalog_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 default AwsDataCatalog that already exists in your account, of which you can have only one and cannot modify.
      • Queries that specify a GLUE data catalog other than the default AwsDataCatalog must be run on Athena engine version 2.
      • In Regions where Athena engine version 2 is not available, creating new GLUE data catalogs results in an INVALID_INPUT error.
    • setParameters

      @Stability(Stable) public void setParameters(@Nullable Map<String,String> value)
      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 takes a catalog ID parameter and is required. The *catalog_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 default AwsDataCatalog that already exists in your account, of which you can have only one and cannot modify.
      • Queries that specify a GLUE data catalog other than the default AwsDataCatalog must be run on Athena engine version 2.
      • In Regions where Athena engine version 2 is not available, creating new GLUE data catalogs results in an INVALID_INPUT error.