#[non_exhaustive]pub struct DataCatalog {
pub name: String,
pub description: Option<String>,
pub type: DataCatalogType,
pub parameters: Option<HashMap<String, String>>,
pub status: Option<DataCatalogStatus>,
pub connection_type: Option<ConnectionType>,
pub error: Option<String>,
}Expand description
Contains information about a data catalog in an Amazon Web Services account.
In the Athena console, data catalogs are listed as "data sources" on the Data sources page under the Data source name column.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringThe 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.
description: Option<String>An optional description of the data catalog.
type: DataCatalogTypeThe 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.
parameters: Option<HashMap<String, String>>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: Option<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.
connection_type: Option<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.
error: Option<String>Text of the error that occurred during data catalog creation or deletion.
Implementations§
Source§impl DataCatalog
impl DataCatalog
Sourcepub fn name(&self) -> &str
pub fn name(&self) -> &str
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.
Sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
An optional description of the data catalog.
Sourcepub fn type(&self) -> &DataCatalogType
pub fn type(&self) -> &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.
Sourcepub fn parameters(&self) -> Option<&HashMap<String, String>>
pub fn parameters(&self) -> Option<&HashMap<String, String>>
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\"}"
-
Sourcepub fn status(&self) -> Option<&DataCatalogStatus>
pub fn status(&self) -> Option<&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.
Sourcepub fn connection_type(&self) -> Option<&ConnectionType>
pub fn connection_type(&self) -> Option<&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.
Source§impl DataCatalog
impl DataCatalog
Sourcepub fn builder() -> DataCatalogBuilder
pub fn builder() -> DataCatalogBuilder
Creates a new builder-style object to manufacture DataCatalog.
Trait Implementations§
Source§impl Clone for DataCatalog
impl Clone for DataCatalog
Source§fn clone(&self) -> DataCatalog
fn clone(&self) -> DataCatalog
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DataCatalog
impl Debug for DataCatalog
Source§impl PartialEq for DataCatalog
impl PartialEq for DataCatalog
impl StructuralPartialEq for DataCatalog
Auto Trait Implementations§
impl Freeze for DataCatalog
impl RefUnwindSafe for DataCatalog
impl Send for DataCatalog
impl Sync for DataCatalog
impl Unpin for DataCatalog
impl UnsafeUnpin for DataCatalog
impl UnwindSafe for DataCatalog
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more