/* * Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.athena; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.athena.model.*; /** * Interface for accessing Amazon Athena. * <p> * <b>Note:</b> Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.athena.AbstractAmazonAthena} instead. * </p> * <p> * <p> * Amazon Athena is an interactive query service that lets you use standard SQL to analyze data directly in Amazon S3. * You can point Athena at your data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is * serverless, so there is no infrastructure to set up or manage. You pay only for the queries you run. Athena scales * automatically—executing queries in parallel—so results are fast, even with large datasets and complex queries. For * more information, see <a href="http://docs.aws.amazon.com/athena/latest/ug/what-is.html">What is Amazon Athena</a> in * the <i>Amazon Athena User Guide</i>. * </p> * <p> * For code samples using the AWS SDK for Java, see <a * href="http://docs.aws.amazon.com/athena/latest/ug/code-samples.html">Examples and Code Samples</a> in the <i>Amazon * Athena User Guide</i>. * </p> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonAthena { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "athena"; /** * <p> * Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query * ID strings. Use <a>ListNamedQueries</a> to get the list of named query IDs. If information could not be retrieved * for a submitted query ID, information about the query ID submitted is listed under * <a>UnprocessedNamedQueryId</a>. Named queries are different from executed queries. Use * <a>BatchGetQueryExecution</a> to get details about each unique query execution, and <a>ListQueryExecutions</a> to * get a list of query execution IDs. * </p> * * @param batchGetNamedQueryRequest * @return Result of the BatchGetNamedQuery operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.BatchGetNamedQuery * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/BatchGetNamedQuery" target="_top">AWS API * Documentation</a> */ BatchGetNamedQueryResult batchGetNamedQuery(BatchGetNamedQueryRequest batchGetNamedQueryRequest); /** * <p> * Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an * array of query execution ID strings. To get a list of query execution IDs, use <a>ListQueryExecutions</a>. Query * executions are different from named (saved) queries. Use <a>BatchGetNamedQuery</a> to get details about named * queries. * </p> * * @param batchGetQueryExecutionRequest * @return Result of the BatchGetQueryExecution operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.BatchGetQueryExecution * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/BatchGetQueryExecution" target="_top">AWS * API Documentation</a> */ BatchGetQueryExecutionResult batchGetQueryExecution(BatchGetQueryExecutionRequest batchGetQueryExecutionRequest); /** * <p> * Creates a named query. * </p> * <p> * For code samples using the AWS SDK for Java, see <a * href="http://docs.aws.amazon.com/athena/latest/ug/code-samples.html">Examples and Code Samples</a> in the * <i>Amazon Athena User Guide</i>. * </p> * * @param createNamedQueryRequest * @return Result of the CreateNamedQuery operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.CreateNamedQuery * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateNamedQuery" target="_top">AWS API * Documentation</a> */ CreateNamedQueryResult createNamedQuery(CreateNamedQueryRequest createNamedQueryRequest); /** * <p> * Deletes a named query. * </p> * <p> * For code samples using the AWS SDK for Java, see <a * href="http://docs.aws.amazon.com/athena/latest/ug/code-samples.html">Examples and Code Samples</a> in the * <i>Amazon Athena User Guide</i>. * </p> * * @param deleteNamedQueryRequest * @return Result of the DeleteNamedQuery operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.DeleteNamedQuery * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteNamedQuery" target="_top">AWS API * Documentation</a> */ DeleteNamedQueryResult deleteNamedQuery(DeleteNamedQueryRequest deleteNamedQueryRequest); /** * <p> * Returns information about a single query. * </p> * * @param getNamedQueryRequest * @return Result of the GetNamedQuery operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.GetNamedQuery * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetNamedQuery" target="_top">AWS API * Documentation</a> */ GetNamedQueryResult getNamedQuery(GetNamedQueryRequest getNamedQueryRequest); /** * <p> * Returns information about a single execution of a query. Each time a query executes, information about the query * execution is saved with a unique ID. * </p> * * @param getQueryExecutionRequest * @return Result of the GetQueryExecution operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.GetQueryExecution * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryExecution" target="_top">AWS API * Documentation</a> */ GetQueryExecutionResult getQueryExecution(GetQueryExecutionRequest getQueryExecutionRequest); /** * <p> * Returns the results of a single query execution specified by <code>QueryExecutionId</code>. This request does not * execute the query but returns results. Use <a>StartQueryExecution</a> to run a query. * </p> * * @param getQueryResultsRequest * @return Result of the GetQueryResults operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.GetQueryResults * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryResults" target="_top">AWS API * Documentation</a> */ GetQueryResultsResult getQueryResults(GetQueryResultsRequest getQueryResultsRequest); /** * <p> * Provides a list of all available query IDs. * </p> * <p> * For code samples using the AWS SDK for Java, see <a * href="http://docs.aws.amazon.com/athena/latest/ug/code-samples.html">Examples and Code Samples</a> in the * <i>Amazon Athena User Guide</i>. * </p> * * @param listNamedQueriesRequest * @return Result of the ListNamedQueries operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.ListNamedQueries * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries" target="_top">AWS API * Documentation</a> */ ListNamedQueriesResult listNamedQueries(ListNamedQueriesRequest listNamedQueriesRequest); /** * <p> * Provides a list of all available query execution IDs. * </p> * <p> * For code samples using the AWS SDK for Java, see <a * href="http://docs.aws.amazon.com/athena/latest/ug/code-samples.html">Examples and Code Samples</a> in the * <i>Amazon Athena User Guide</i>. * </p> * * @param listQueryExecutionsRequest * @return Result of the ListQueryExecutions operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.ListQueryExecutions * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions" target="_top">AWS API * Documentation</a> */ ListQueryExecutionsResult listQueryExecutions(ListQueryExecutionsRequest listQueryExecutionsRequest); /** * <p> * Runs (executes) the SQL query statements contained in the <code>Query</code> string. * </p> * <p> * For code samples using the AWS SDK for Java, see <a * href="http://docs.aws.amazon.com/athena/latest/ug/code-samples.html">Examples and Code Samples</a> in the * <i>Amazon Athena User Guide</i>. * </p> * * @param startQueryExecutionRequest * @return Result of the StartQueryExecution operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @throws TooManyRequestsException * Indicates that the request was throttled. * @sample AmazonAthena.StartQueryExecution * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StartQueryExecution" target="_top">AWS API * Documentation</a> */ StartQueryExecutionResult startQueryExecution(StartQueryExecutionRequest startQueryExecutionRequest); /** * <p> * Stops a query execution. * </p> * <p> * For code samples using the AWS SDK for Java, see <a * href="http://docs.aws.amazon.com/athena/latest/ug/code-samples.html">Examples and Code Samples</a> in the * <i>Amazon Athena User Guide</i>. * </p> * * @param stopQueryExecutionRequest * @return Result of the StopQueryExecution operation returned by the service. * @throws InternalServerException * Indicates a platform issue, which may be due to a transient condition or outage. * @throws InvalidRequestException * Indicates that something is wrong with the input to the request. For example, a required parameter may be * missing or out of range. * @sample AmazonAthena.StopQueryExecution * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/StopQueryExecution" target="_top">AWS API * Documentation</a> */ StopQueryExecutionResult stopQueryExecution(StopQueryExecutionRequest stopQueryExecutionRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. * <p> * Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }