Query Query

yaml
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

yaml
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?