Query
type: "io.kestra.plugin.aws.athena.Query"
Query an 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 here.
Complex data types like array, map and struct will be converted to a string.
Examples
id: aws_athena_query
namespace: company.team
tasks:
- id: query
type: io.kestra.plugin.aws.athena.Query
accessKeyId: "<access-key>"
secretKeyId: "<secret-key>"
region: "eu-central-1"
database: my_database
outputLocation: s3://some-s3-bucket
query: |
select * from cloudfront_logs limit 10
Properties
database
- Type: string
- Dynamic: ✔️
- Required: ✔️
Athena database.
fetchType
- Type: string
- Dynamic: ❌
- Required: ✔️
- Default:
STORE
- Possible Values:
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.
outputLocation
- Type: string
- Dynamic: ✔️
- Required: ✔️
Athena output location.
The query results will be stored in this output location. Must be an existing S3 bucket.
query
- Type: string
- Dynamic: ✔️
- Required: ✔️
Athena SQL query.
skipHeader
- Type: boolean
- Dynamic: ❌
- Required: ✔️
- Default:
true
Whether to skip the first row which is usually the header.
accessKeyId
- Type: string
- Dynamic: ✔️
- Required: ❌
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
- Type: string
- Dynamic: ✔️
- Required: ❌
Athena catalog.
compatibilityMode
- Type: boolean
- Dynamic: ✔️
- Required: ❌
endpointOverride
- Type: string
- Dynamic: ✔️
- Required: ❌
The endpoint with which the SDK should communicate.
This property allows you to use a different S3 compatible storage backend.
region
- Type: string
- Dynamic: ✔️
- Required: ❌
AWS region with which the SDK should communicate.
secretKeyId
- Type: string
- Dynamic: ✔️
- Required: ❌
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
- Type: string
- Dynamic: ✔️
- Required: ❌
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.
stsEndpointOverride
- Type: string
- Dynamic: ✔️
- Required: ❌
The AWS STS endpoint with which the SDKClient should communicate.
stsRoleArn
- Type: string
- Dynamic: ✔️
- Required: ❌
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
- Type: string
- Dynamic: ✔️
- Required: ❌
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
- Type: string
- Dynamic: ❌
- Required: ❌
- Default:
900.000000000
- Format:
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
- Type: string
- Dynamic: ✔️
- Required: ❌
AWS STS Session name.
This property is only used when an
stsRoleArn
is defined.
Outputs
queryExecutionId
- Type: string
- Required: ❌
The query execution identifier.
row
- Type: object
- Required: ❌
Map containing the first row of fetched data.
Only populated if
fetchType=FETCH_ONE
.
rows
- Type: array
- SubType:
- Required: ❌
List containing the fetched data.
Only populated if
fetchType=FETCH
.
size
- Type: integer
- Required: ❌
The size of the fetched rows.
uri
- Type: string
- Required: ❌
- Format:
uri
The URI of stored data.
Only populated if
fetchType=STORE
.
Was this page helpful?