Struct aws_sdk_athena::Client

source ·
pub struct Client { /* private fields */ }
Expand description

Client for Amazon Athena

Client for invoking operations on Amazon Athena. Each operation on Amazon Athena is a method on this this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.

§Constructing a Client

A Config is required to construct a client. For most use cases, the aws-config crate should be used to automatically resolve this config using aws_config::load_from_env(), since this will resolve an SdkConfig which can be shared across multiple different AWS SDK clients. This config resolution process can be customized by calling aws_config::from_env() instead, which returns a ConfigLoader that uses the builder pattern to customize the default config.

In the simplest case, creating a client looks as follows:

let config = aws_config::load_from_env().await;
let client = aws_sdk_athena::Client::new(&config);

Occasionally, SDKs may have additional service-specific values that can be set on the Config that is absent from SdkConfig, or slightly different settings for a specific client may be desired. The Config struct implements From<&SdkConfig>, so setting these specific settings can be done as follows:

let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_athena::config::Builder::from(&sdk_config)
    .some_service_specific_setting("value")
    .build();

See the aws-config docs and Config for more information on customizing configuration.

Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.

§Using the Client

A client has a function for every operation that can be performed by the service. For example, the BatchGetPreparedStatement operation has a Client::batch_get_prepared_statement, function which returns a builder for that operation. The fluent builder ultimately has a send() function that returns an async future that returns a result, as illustrated below:

let result = client.batch_get_prepared_statement()
    .work_group("example")
    .send()
    .await;

The underlying HTTP requests that get made by this can be modified with the customize_operation function on the fluent builder. See the customize module for more information.

Implementations§

source§

impl Client

source

pub fn batch_get_named_query(&self) -> BatchGetNamedQueryFluentBuilder

Constructs a fluent builder for the BatchGetNamedQuery operation.

source§

impl Client

source

pub fn batch_get_prepared_statement( &self ) -> BatchGetPreparedStatementFluentBuilder

Constructs a fluent builder for the BatchGetPreparedStatement operation.

source§

impl Client

source

pub fn batch_get_query_execution(&self) -> BatchGetQueryExecutionFluentBuilder

Constructs a fluent builder for the BatchGetQueryExecution operation.

source§

impl Client

source

pub fn cancel_capacity_reservation( &self ) -> CancelCapacityReservationFluentBuilder

Constructs a fluent builder for the CancelCapacityReservation operation.

source§

impl Client

source

pub fn create_capacity_reservation( &self ) -> CreateCapacityReservationFluentBuilder

Constructs a fluent builder for the CreateCapacityReservation operation.

source§

impl Client

source

pub fn create_data_catalog(&self) -> CreateDataCatalogFluentBuilder

Constructs a fluent builder for the CreateDataCatalog operation.

  • The fluent builder is configurable:
    • name(impl Into<String>) / set_name(Option<String>):
      required: true

      The name of the data catalog to create. 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.


    • r#type(DataCatalogType) / set_type(Option<DataCatalogType>):
      required: true

      The type of data catalog to create: LAMBDA for a federated catalog, HIVE for an external hive metastore, or GLUE for an Glue Data Catalog.


    • description(impl Into<String>) / set_description(Option<String>):
      required: false

      A description of the data catalog to be created.


    • parameters(impl Into<String>, impl Into<String>) / set_parameters(Option<HashMap::<String, String>>):
      required: false

      Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.

      • For the HIVE data catalog type, use 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

      • For the LAMBDA data 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 GLUE type takes a catalog ID parameter and is required. The catalog_id is the account ID of the Amazon Web Services account to which the Glue Data 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.


    • tags(Tag) / set_tags(Option<Vec::<Tag>>):
      required: false

      A list of comma separated tags to add to the data catalog that is created.


  • On success, responds with CreateDataCatalogOutput
  • On failure, responds with SdkError<CreateDataCatalogError>
source§

impl Client

source

pub fn create_named_query(&self) -> CreateNamedQueryFluentBuilder

Constructs a fluent builder for the CreateNamedQuery operation.

source§

impl Client

source

pub fn create_notebook(&self) -> CreateNotebookFluentBuilder

Constructs a fluent builder for the CreateNotebook operation.

source§

impl Client

source

pub fn create_prepared_statement(&self) -> CreatePreparedStatementFluentBuilder

Constructs a fluent builder for the CreatePreparedStatement operation.

source§

impl Client

source

pub fn create_presigned_notebook_url( &self ) -> CreatePresignedNotebookUrlFluentBuilder

Constructs a fluent builder for the CreatePresignedNotebookUrl operation.

source§

impl Client

source

pub fn create_work_group(&self) -> CreateWorkGroupFluentBuilder

Constructs a fluent builder for the CreateWorkGroup operation.

source§

impl Client

source

pub fn delete_capacity_reservation( &self ) -> DeleteCapacityReservationFluentBuilder

Constructs a fluent builder for the DeleteCapacityReservation operation.

source§

impl Client

source

pub fn delete_data_catalog(&self) -> DeleteDataCatalogFluentBuilder

Constructs a fluent builder for the DeleteDataCatalog operation.

source§

impl Client

source

pub fn delete_named_query(&self) -> DeleteNamedQueryFluentBuilder

Constructs a fluent builder for the DeleteNamedQuery operation.

source§

impl Client

source

pub fn delete_notebook(&self) -> DeleteNotebookFluentBuilder

Constructs a fluent builder for the DeleteNotebook operation.

source§

impl Client

source

pub fn delete_prepared_statement(&self) -> DeletePreparedStatementFluentBuilder

Constructs a fluent builder for the DeletePreparedStatement operation.

source§

impl Client

source

pub fn delete_work_group(&self) -> DeleteWorkGroupFluentBuilder

Constructs a fluent builder for the DeleteWorkGroup operation.

source§

impl Client

source

pub fn export_notebook(&self) -> ExportNotebookFluentBuilder

Constructs a fluent builder for the ExportNotebook operation.

source§

impl Client

source

pub fn get_calculation_execution(&self) -> GetCalculationExecutionFluentBuilder

Constructs a fluent builder for the GetCalculationExecution operation.

source§

impl Client

source

pub fn get_calculation_execution_code( &self ) -> GetCalculationExecutionCodeFluentBuilder

Constructs a fluent builder for the GetCalculationExecutionCode operation.

source§

impl Client

source

pub fn get_calculation_execution_status( &self ) -> GetCalculationExecutionStatusFluentBuilder

Constructs a fluent builder for the GetCalculationExecutionStatus operation.

source§

impl Client

source

pub fn get_capacity_assignment_configuration( &self ) -> GetCapacityAssignmentConfigurationFluentBuilder

Constructs a fluent builder for the GetCapacityAssignmentConfiguration operation.

source§

impl Client

source

pub fn get_capacity_reservation(&self) -> GetCapacityReservationFluentBuilder

Constructs a fluent builder for the GetCapacityReservation operation.

source§

impl Client

source

pub fn get_data_catalog(&self) -> GetDataCatalogFluentBuilder

Constructs a fluent builder for the GetDataCatalog operation.

source§

impl Client

source

pub fn get_database(&self) -> GetDatabaseFluentBuilder

Constructs a fluent builder for the GetDatabase operation.

source§

impl Client

source

pub fn get_named_query(&self) -> GetNamedQueryFluentBuilder

Constructs a fluent builder for the GetNamedQuery operation.

source§

impl Client

source

pub fn get_notebook_metadata(&self) -> GetNotebookMetadataFluentBuilder

Constructs a fluent builder for the GetNotebookMetadata operation.

source§

impl Client

source

pub fn get_prepared_statement(&self) -> GetPreparedStatementFluentBuilder

Constructs a fluent builder for the GetPreparedStatement operation.

source§

impl Client

source

pub fn get_query_execution(&self) -> GetQueryExecutionFluentBuilder

Constructs a fluent builder for the GetQueryExecution operation.

source§

impl Client

source

pub fn get_query_results(&self) -> GetQueryResultsFluentBuilder

Constructs a fluent builder for the GetQueryResults operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn get_query_runtime_statistics( &self ) -> GetQueryRuntimeStatisticsFluentBuilder

Constructs a fluent builder for the GetQueryRuntimeStatistics operation.

source§

impl Client

source

pub fn get_session(&self) -> GetSessionFluentBuilder

Constructs a fluent builder for the GetSession operation.

source§

impl Client

source

pub fn get_session_status(&self) -> GetSessionStatusFluentBuilder

Constructs a fluent builder for the GetSessionStatus operation.

source§

impl Client

source

pub fn get_table_metadata(&self) -> GetTableMetadataFluentBuilder

Constructs a fluent builder for the GetTableMetadata operation.

source§

impl Client

source

pub fn get_work_group(&self) -> GetWorkGroupFluentBuilder

Constructs a fluent builder for the GetWorkGroup operation.

source§

impl Client

source

pub fn import_notebook(&self) -> ImportNotebookFluentBuilder

Constructs a fluent builder for the ImportNotebook operation.

source§

impl Client

source

pub fn list_application_dpu_sizes(&self) -> ListApplicationDPUSizesFluentBuilder

Constructs a fluent builder for the ListApplicationDPUSizes operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_calculation_executions( &self ) -> ListCalculationExecutionsFluentBuilder

Constructs a fluent builder for the ListCalculationExecutions operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_capacity_reservations( &self ) -> ListCapacityReservationsFluentBuilder

Constructs a fluent builder for the ListCapacityReservations operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_data_catalogs(&self) -> ListDataCatalogsFluentBuilder

Constructs a fluent builder for the ListDataCatalogs operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_databases(&self) -> ListDatabasesFluentBuilder

Constructs a fluent builder for the ListDatabases operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_engine_versions(&self) -> ListEngineVersionsFluentBuilder

Constructs a fluent builder for the ListEngineVersions operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_executors(&self) -> ListExecutorsFluentBuilder

Constructs a fluent builder for the ListExecutors operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_named_queries(&self) -> ListNamedQueriesFluentBuilder

Constructs a fluent builder for the ListNamedQueries operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_notebook_metadata(&self) -> ListNotebookMetadataFluentBuilder

Constructs a fluent builder for the ListNotebookMetadata operation.

source§

impl Client

source

pub fn list_notebook_sessions(&self) -> ListNotebookSessionsFluentBuilder

Constructs a fluent builder for the ListNotebookSessions operation.

source§

impl Client

source

pub fn list_prepared_statements(&self) -> ListPreparedStatementsFluentBuilder

Constructs a fluent builder for the ListPreparedStatements operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_query_executions(&self) -> ListQueryExecutionsFluentBuilder

Constructs a fluent builder for the ListQueryExecutions operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_sessions(&self) -> ListSessionsFluentBuilder

Constructs a fluent builder for the ListSessions operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_table_metadata(&self) -> ListTableMetadataFluentBuilder

Constructs a fluent builder for the ListTableMetadata operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_tags_for_resource(&self) -> ListTagsForResourceFluentBuilder

Constructs a fluent builder for the ListTagsForResource operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_work_groups(&self) -> ListWorkGroupsFluentBuilder

Constructs a fluent builder for the ListWorkGroups operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn put_capacity_assignment_configuration( &self ) -> PutCapacityAssignmentConfigurationFluentBuilder

Constructs a fluent builder for the PutCapacityAssignmentConfiguration operation.

source§

impl Client

source

pub fn start_calculation_execution( &self ) -> StartCalculationExecutionFluentBuilder

Constructs a fluent builder for the StartCalculationExecution operation.

source§

impl Client

source

pub fn start_query_execution(&self) -> StartQueryExecutionFluentBuilder

Constructs a fluent builder for the StartQueryExecution operation.

source§

impl Client

source

pub fn start_session(&self) -> StartSessionFluentBuilder

Constructs a fluent builder for the StartSession operation.

source§

impl Client

source

pub fn stop_calculation_execution( &self ) -> StopCalculationExecutionFluentBuilder

Constructs a fluent builder for the StopCalculationExecution operation.

source§

impl Client

source

pub fn stop_query_execution(&self) -> StopQueryExecutionFluentBuilder

Constructs a fluent builder for the StopQueryExecution operation.

source§

impl Client

source

pub fn tag_resource(&self) -> TagResourceFluentBuilder

Constructs a fluent builder for the TagResource operation.

source§

impl Client

source

pub fn terminate_session(&self) -> TerminateSessionFluentBuilder

Constructs a fluent builder for the TerminateSession operation.

  • The fluent builder is configurable:
  • On success, responds with TerminateSessionOutput with field(s):
    • state(Option<SessionState>):

      The state of the session. A description of each state follows.

      CREATING - The session is being started, including acquiring resources.

      CREATED - The session has been started.

      IDLE - The session is able to accept a calculation.

      BUSY - The session is processing another task and is unable to accept a calculation.

      TERMINATING - The session is in the process of shutting down.

      TERMINATED - The session and its resources are no longer running.

      DEGRADED - The session has no healthy coordinators.

      FAILED - Due to a failure, the session and its resources are no longer running.

  • On failure, responds with SdkError<TerminateSessionError>
source§

impl Client

source

pub fn untag_resource(&self) -> UntagResourceFluentBuilder

Constructs a fluent builder for the UntagResource operation.

source§

impl Client

source

pub fn update_capacity_reservation( &self ) -> UpdateCapacityReservationFluentBuilder

Constructs a fluent builder for the UpdateCapacityReservation operation.

source§

impl Client

source

pub fn update_data_catalog(&self) -> UpdateDataCatalogFluentBuilder

Constructs a fluent builder for the UpdateDataCatalog operation.

  • The fluent builder is configurable:
    • name(impl Into<String>) / set_name(Option<String>):
      required: true

      The name of the data catalog to update. 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.


    • r#type(DataCatalogType) / set_type(Option<DataCatalogType>):
      required: true

      Specifies the type of data catalog to update. Specify LAMBDA for a federated catalog, HIVE for an external hive metastore, or GLUE for an Glue Data Catalog.


    • description(impl Into<String>) / set_description(Option<String>):
      required: false

      New or modified text that describes the data catalog.


    • parameters(impl Into<String>, impl Into<String>) / set_parameters(Option<HashMap::<String, String>>):
      required: false

      Specifies the Lambda function or functions to use for updating the data catalog. This is a mapping whose values depend on the catalog type.

      • For the HIVE data catalog type, use 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

      • For the LAMBDA data 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


  • On success, responds with UpdateDataCatalogOutput
  • On failure, responds with SdkError<UpdateDataCatalogError>
source§

impl Client

source

pub fn update_named_query(&self) -> UpdateNamedQueryFluentBuilder

Constructs a fluent builder for the UpdateNamedQuery operation.

source§

impl Client

source

pub fn update_notebook(&self) -> UpdateNotebookFluentBuilder

Constructs a fluent builder for the UpdateNotebook operation.

source§

impl Client

source

pub fn update_notebook_metadata(&self) -> UpdateNotebookMetadataFluentBuilder

Constructs a fluent builder for the UpdateNotebookMetadata operation.

source§

impl Client

source

pub fn update_prepared_statement(&self) -> UpdatePreparedStatementFluentBuilder

Constructs a fluent builder for the UpdatePreparedStatement operation.

source§

impl Client

source

pub fn update_work_group(&self) -> UpdateWorkGroupFluentBuilder

Constructs a fluent builder for the UpdateWorkGroup operation.

source§

impl Client

source

pub fn from_conf(conf: Config) -> Self

Creates a new client from the service Config.

§Panics

This method will panic in the following cases:

  • Retries or timeouts are enabled without a sleep_impl configured.
  • Identity caching is enabled without a sleep_impl and time_source configured.
  • No behavior_version is provided.

The panic message for each of these will have instructions on how to resolve them.

source

pub fn config(&self) -> &Config

Returns the client’s configuration.

source§

impl Client

source

pub fn new(sdk_config: &SdkConfig) -> Self

Creates a new client from an SDK Config.

§Panics
  • This method will panic if the sdk_config is missing an async sleep implementation. If you experience this panic, set the sleep_impl on the Config passed into this function to fix it.
  • This method will panic if the sdk_config is missing an HTTP connector. If you experience this panic, set the http_connector on the Config passed into this function to fix it.
  • This method will panic if no BehaviorVersion is provided. If you experience this panic, set behavior_version on the Config or enable the behavior-version-latest Cargo feature.

Trait Implementations§

source§

impl Clone for Client

source§

fn clone(&self) -> Client

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Client

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more