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.
accessKeyId string
Access Key Id in order to connect to AWS.
If no credentials are defined, we will use the default credentials provider chain to fetch credentials.
catalog string
Athena catalog.
compatibilityMode booleanstring
Enable compatibility mode.
Use it to connect to S3 bucket with S3 compatible services that don't support the new transport client.
endpointOverride string
The endpoint with which the SDK should communicate.
This property allows you to use a different S3 compatible storage backend.
fetchType string
STORE
STORE
FETCH
FETCH_ONE
NONE
The 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.
forcePathStyle booleanstring
Force path style access.
Must only be used when compatibilityMode
is enabled.
region string
AWS region with which the SDK should communicate.
secretKeyId string
Secret Key Id in order to connect to AWS.
If no credentials are defined, we will use the default credentials provider chain to fetch credentials.
sessionToken string
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.
skipHeader booleanstring
true
Whether to skip the first row which is usually the header.
stsEndpointOverride string
The AWS STS endpoint with which the SDKClient should communicate.
stsRoleArn string
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.
stsRoleExternalId string
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.
stsRoleSessionDuration string
PT15M
duration
AWS 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.
stsRoleSessionName string
AWS STS Session name.
This property is only used when an stsRoleArn
is defined.
Outputs
queryExecutionId string
The query execution identifier.
row object
Map containing the first row of fetched data.
Only populated if fetchType=FETCH_ONE
.
rows array
List containing the fetched data.
Only populated if fetchType=FETCH
.
size integer
The size of the fetched rows.
uri string
uri
The URI of stored data.
Only populated if fetchType=STORE
.