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: "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 connection is defined, we will use the DefaultCredentialsProvider to fetch the value.

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 should normally not be used except for local development.

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 connection is defined, we will use the DefaultCredentialsProvider to fetch the value.

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 connection is defined, we will use the DefaultCredentialsProvider to fetch the value.

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. Otherwise, the StaticCredentialsProvider will be used with the provided Access Key Id and Secret Key.

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
  • Dynamic:
  • Required:

The query execution identifier.

row

  • Type: object
  • Dynamic:
  • Required:

Map containing the first row of fetched data.

Only populated if fetchType=FETCH_ONE.

rows

  • Type: array
  • Dynamic:
  • Required:

List containing the fetched data.

Only populated if fetchType=FETCH.

size

  • Type: integer
  • Dynamic:
  • Required:

The size of the fetched rows.

uri

  • Type: string
  • Dynamic:
  • Required:
  • Format: uri

The URI of stored data.

Only populated if fetchType=STORE.