AWS Tools for Windows PowerShell
Command Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Synopsis

Calls the Amazon Athena StartQueryExecution API operation.

Syntax

Start-ATHQueryExecution
-QueryString <String>
-QueryExecutionContext_Catalog <String>
-ClientRequestToken <String>
-QueryExecutionContext_Database <String>
-ResultReuseByAgeConfiguration_Enabled <Boolean>
-EncryptionConfiguration_EncryptionOption <EncryptionOption>
-ExecutionParameter <String[]>
-ResultConfiguration_ExpectedBucketOwner <String>
-EncryptionConfiguration_KmsKey <String>
-ResultReuseByAgeConfiguration_MaxAgeInMinute <Int32>
-ResultConfiguration_OutputLocation <String>
-AclConfiguration_S3AclOption <S3AclOption>
-WorkGroup <String>
-Select <String>
-PassThru <SwitchParameter>
-Force <SwitchParameter>
-ClientConfig <AmazonAthenaConfig>

Description

Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran. Running queries against an external catalog requires GetDataCatalog permission to the catalog. For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

Parameters

-AclConfiguration_S3AclOption <S3AclOption>
The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is BUCKET_OWNER_FULL_CONTROL. If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see Canned ACL in the Amazon S3 User Guide.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesResultConfiguration_AclConfiguration_S3AclOption
-ClientConfig <AmazonAthenaConfig>
Amazon.PowerShell.Cmdlets.ATH.AmazonAthenaClientCmdlet.ClientConfig
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ClientRequestToken <String>
A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another StartQueryExecution request is received, the same response is returned and another query is not created. An error is returned if a parameter, such as QueryString, has changed. A call to StartQueryExecution that uses a previous client request token returns the same QueryExecutionId even if the requester doesn't have permission on the tables specified in QueryString.This token is listed as not required because Amazon Web Services SDKs (for example the Amazon Web Services SDK for Java) auto-generate the token for users. If you are not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide this token or the action will fail.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-EncryptionConfiguration_EncryptionOption <EncryptionOption>
Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys (SSE_S3), server-side encryption with KMS-managed keys (SSE_KMS), or client-side encryption with KMS-managed keys (CSE_KMS) is used.If a query runs in a workgroup and the workgroup overrides client-side settings, then the workgroup's setting for encryption is used. It specifies whether query results must be encrypted, for all queries that run in this workgroup.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesResultConfiguration_EncryptionConfiguration_EncryptionOption
-EncryptionConfiguration_KmsKey <String>
For SSE_KMS and CSE_KMS, this is the KMS key ARN or ID.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesResultConfiguration_EncryptionConfiguration_KmsKey
-ExecutionParameter <String[]>
A list of values for the parameters in a query. The values are applied sequentially to the parameters in the query in the order in which the parameters occur.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesExecutionParameters
This parameter overrides confirmation prompts to force the cmdlet to continue its operation. This parameter should always be used with caution.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-PassThru <SwitchParameter>
Changes the cmdlet behavior to return the value passed to the QueryString parameter. The -PassThru parameter is deprecated, use -Select '^QueryString' instead. This parameter will be removed in a future version.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-QueryExecutionContext_Catalog <String>
The name of the data catalog used in the query execution.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-QueryExecutionContext_Database <String>
The name of the database used in the query execution. The database must exist in the catalog.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-QueryString <String>
The SQL query statements to be executed.
Required?True
Position?1
Accept pipeline input?True (ByValue, ByPropertyName)
-ResultConfiguration_ExpectedBucketOwner <String>
The Amazon Web Services account ID that you expect to be the owner of the Amazon S3 bucket specified by ResultConfiguration$OutputLocation. If set, Athena uses the value for ExpectedBucketOwner when it makes Amazon S3 calls to your specified output location. If the ExpectedBucketOwner Amazon Web Services account ID does not match the actual owner of the Amazon S3 bucket, the call fails with a permissions error.This is a client-side setting. If workgroup settings override client-side settings, then the query uses the ExpectedBucketOwner setting that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ResultConfiguration_OutputLocation <String>
The location in Amazon S3 where your query and calculation results are stored, such as s3://path/to/query/bucket/. To run the query, you must specify the query results location using one of the ways: either for individual queries using either this setting (client-side), or in the workgroup, using WorkGroupConfiguration. If none of them is set, Athena issues an error that no output location is provided. For more information, see Working with query results, recent queries, and output files. If workgroup settings override client-side settings, then the query uses the settings specified for the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ResultReuseByAgeConfiguration_Enabled <Boolean>
True if previous query results can be reused when the query is run; otherwise, false. The default is false.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesResultReuseConfiguration_ResultReuseByAgeConfiguration_Enabled
-ResultReuseByAgeConfiguration_MaxAgeInMinute <Int32>
Specifies, in minutes, the maximum age of a previous query result that Athena should consider for reuse. The default is 60.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesResultReuseConfiguration_ResultReuseByAgeConfiguration_MaxAgeInMinutes
-Select <String>
Use the -Select parameter to control the cmdlet output. The default value is 'QueryExecutionId'. Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.Athena.Model.StartQueryExecutionResponse). Specifying the name of a property of type Amazon.Athena.Model.StartQueryExecutionResponse will result in that property being returned. Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-WorkGroup <String>
The name of the workgroup in which the query is being started.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)

Common Credential and Region Parameters

-AccessKey <String>
The AWS access key for the user account. This can be a temporary access key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAK
-Credential <AWSCredentials>
An AWSCredentials object instance containing access and secret key information, and optionally a token for session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-EndpointUrl <String>
The endpoint to make the call against.Note: This parameter is primarily for internal AWS use and is not required/should not be specified for normal usage. The cmdlets normally determine which endpoint to call based on the region specified to the -Region parameter or set as default in the shell (via Set-DefaultAWSRegion). Only specify this parameter if you must direct the call to a specific custom endpoint.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-NetworkCredential <PSCredential>
Used with SAML-based authentication when ProfileName references a SAML role profile. Contains the network credentials to be supplied during authentication with the configured identity provider's endpoint. This parameter is not required if the user's default network identity can or should be used during authentication.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-ProfileLocation <String>
Used to specify the name and location of the ini-format credential file (shared with the AWS CLI and other AWS SDKs)If this optional parameter is omitted this cmdlet will search the encrypted credential file used by the AWS SDK for .NET and AWS Toolkit for Visual Studio first. If the profile is not found then the cmdlet will search in the ini-format credential file at the default location: (user's home directory)\.aws\credentials.If this parameter is specified then this cmdlet will only search the ini-format credential file at the location given.As the current folder can vary in a shell or during script execution it is advised that you use specify a fully qualified path instead of a relative path.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAWSProfilesLocation, ProfilesLocation
-ProfileName <String>
The user-defined name of an AWS credentials or SAML-based role profile containing credential information. The profile is expected to be found in the secure credential file shared with the AWS SDK for .NET and AWS Toolkit for Visual Studio. You can also specify the name of a profile stored in the .ini-format credential file used with the AWS CLI and other AWS SDKs.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesStoredCredentials, AWSProfileName
-Region <Object>
The system name of an AWS region or an AWSRegion instance. This governs the endpoint that will be used when calling service operations. Note that the AWS resources referenced in a call are usually region-specific.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesRegionToCall
-SecretKey <String>
The AWS secret key for the user account. This can be a temporary secret key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesSK, SecretAccessKey
-SessionToken <String>
The session token if the access and secret keys are temporary session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesST

Outputs

This cmdlet returns a System.String object. The service call response (type Amazon.Athena.Model.StartQueryExecutionResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack.

Supported Version

AWS Tools for PowerShell: 2.x.y.z