// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. // Package athena provides the client and types for making API // requests to Amazon Athena. // // 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 What is Amazon Athena (http://docs.aws.amazon.com/athena/latest/ug/what-is.html) // in the Amazon Athena User Guide. // // For code samples using the AWS SDK for Java, see Examples and Code Samples // (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon // Athena User Guide. // // See https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18 for more information on this service. // // See athena package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/athena/ // // Using the Client // // To use the client for Amazon Athena you will first need // to create a new instance of it. // // When creating a client for an AWS service you'll first need to have a Session // already created. The Session provides configuration that can be shared // between multiple service clients. Additional configuration can be applied to // the Session and service's client when they are constructed. The aws package's // Config type contains several fields such as Region for the AWS Region the // client should make API requests too. The optional Config value can be provided // as the variadic argument for Sessions and client creation. // // Once the service's client is created you can use it to make API requests the // AWS service. These clients are safe to use concurrently. // // // Create a session to share configuration, and load external configuration. // sess := session.Must(session.NewSession()) // // // Create the service's client with the session. // svc := athena.New(sess) // // See the SDK's documentation for more information on how to use service clients. // https://docs.aws.amazon.com/sdk-for-go/api/ // // See aws package's Config type for more information on configuration options. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Athena client Athena for more // information on creating the service's client. // https://docs.aws.amazon.com/sdk-for-go/api/service/athena/#New // // Once the client is created you can make an API request to the service. // Each API method takes a input parameter, and returns the service response // and an error. // // The API method will document which error codes the service can be returned // by the operation if the service models the API operation's errors. These // errors will also be available as const strings prefixed with "ErrCode". // // result, err := svc.BatchGetNamedQuery(params) // if err != nil { // // Cast err to awserr.Error to handle specific error codes. // aerr, ok := err.(awserr.Error) // if ok && aerr.Code() == { // // Specific error code handling // } // return err // } // // fmt.Println("BatchGetNamedQuery result:") // fmt.Println(result) // // Using the Client with Context // // The service's client also provides methods to make API requests with a Context // value. This allows you to control the timeout, and cancellation of pending // requests. These methods also take request Option as variadic parameter to apply // additional configuration to the API request. // // ctx := context.Background() // // result, err := svc.BatchGetNamedQueryWithContext(ctx, params) // // See the request package documentation for more information on using Context pattern // with the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package athena