
Query
Query an Amazon Athena table.
The query will wait for completion, except if fetchMode is set to NONE, and will output converted rows.
Row conversion is based on the types listed in Athena Data Types.
Complex data types like array, map, and struct will be converted to a string.
type: "io.kestra.plugin.aws.athena.Query"Examples
id: aws_athena_query
namespace: company.team
tasks:
- id: query
type: io.kestra.plugin.aws.athena.Query
accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
secretKeyId: "{{ secret('AWS_SECRET_KEY_ID') }}"
region: "eu-central-1"
database: my_database
outputLocation: s3://some-s3-bucket
query: |
select * from cloudfront_logs limit 10
Properties
database*Requiredstring
Athena database.
outputLocation*Requiredstring
Athena output location.
The query results will be stored in this output location. Must be an existing S3 bucket.
query*Requiredstring
Athena SQL query.
accessKeyIdstring
Access Key Id in order to connect to AWS.
catalogstring
Athena catalog.
compatibilityModebooleanstring
Enable compatibility mode.
Use it to connect to S3 bucket with S3 compatible services that don't support the new transport client.
endpointOverridestring
The endpoint with which the SDK should communicate.
This property allows you to use a different S3 compatible storage backend.
fetchTypestring
STORESTOREFETCHFETCH_ONENONEThe way you want to store the data.
FETCH_ONE outputs the first row, FETCH outputs all the rows, STORE stores all rows in a file, NONE does nothing — in this case, the task submits the query without waiting for its completion.
forcePathStylebooleanstring
Force path style access.
Must only be used when compatibilityMode is enabled.
regionstring
AWS region with which the SDK should communicate.
secretKeyIdstring
Secret Key Id in order to connect to AWS.
sessionTokenstring
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.
If no credentials are defined, we will use the default credentials provider chain to fetch credentials.
skipHeaderbooleanstring
trueWhether to skip the first row which is usually the header.
stsEndpointOverridestring
The AWS STS endpoint with which the SDKClient should communicate.
stsRoleArnstring
AWS STS Role.
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the StsAssumeRoleCredentialsProvider. If no credentials are defined, we will use the default credentials provider chain to fetch credentials.
stsRoleExternalIdstring
AWS STS External Id.
A unique identifier that might be required when you assume a role in another account. This property is only used when an stsRoleArn is defined.
stsRoleSessionDurationstring
PT15MdurationAWS STS Session duration.
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an stsRoleArn is defined.
stsRoleSessionNamestring
AWS STS Session name.
This property is only used when an stsRoleArn is defined.
Outputs
queryExecutionIdstring
The query execution identifier.
rowobject
Map containing the first row of fetched data.
Only populated if fetchType=FETCH_ONE.
rowsarray
List containing the fetched data.
Only populated if fetchType=FETCH.
sizeinteger
The size of the fetched rows.
uristring
uriThe URI of stored data.
Only populated if fetchType=STORE.
Metrics
data.scanned.bytescounter
bytesThe amount of data scanned by the Athena query in bytes.
engine.execution.durationcounter
millisecondsThe time taken by the Athena engine to execute the query.
fetch.rowscounter
rowsThe number of rows fetched or stored by the task, based on the fetchType.
query.planning.durationcounter
millisecondsThe time taken to plan the Athena query.
query.queue.durationcounter
millisecondsThe time the Athena query spent in the queue.
service.processing.durationcounter
millisecondsThe time taken for service processing of the Athena query.
total.execution.durationcounter
millisecondsThe total execution time of the Athena query.
total.rowscounter
rowsThe total number of rows returned by the Athena query.