このページでは、ワークフロー自動化アクションカタログで利用可能なAWS Athenaアクションのリファレンスを提供します。これらのアクションを使用して、Amazon Athenaに対してSQLクエリを実行し、その実行ステータスを確認して、ワークフロー定義から直接結果を取得します。
前提条件
前提条件と認証情報のセットアップについては、AWS認証情報のセットアップをご覧ください。
クエリの実行を開始します。
アクション識別子はaws.athena.startQueryExecutionです。
Amazon Athenaに対してSQLクエリを実行し、クエリ実行IDを返します。このアクションはクエリの完了を待機しません — ステータスをポーリングするにはaws.athena.getQueryExecutionを、結果を取得するにはaws.athena.getQueryResultsを使用してください。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。AthenaワークグループのAWSリージョン。 |
|
| 弦 | 必須。実行するSQLステートメント。長さ:1~262,144文字。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。クエリを実行するAthenaデータベース。長さ:1~255文字。 |
|
| 弦 | オプション。データカタログ名。長さ:1~256文字。 |
|
| 弦 | オプション。クエリ結果のS3 URIです。ワークグループにデフォルトの出力場所がない場合に必須です。 |
|
| 弦 | オプション。結果ファイルの暗号化。許可される値: |
|
| 弦 | オプション。KMSキーのARNまたはID。 |
|
| 弦 | オプション。出力S3バケットを所有する必要がある12桁のAWSアカウントIDです。 |
|
| 弦 | オプション。結果オブジェクトに適用される定義済みACLです。許可される値: |
|
| 弦 | オプション。クエリを実行するAthenaワークグループ。省略した場合は |
|
| 弦 | オプション。再試行用のべき等性トークンです。長さ:32~128文字。 |
|
| リスト | オプション。位置順に適用される、パラメーター化されたクエリのパラメーター値です。各値:1~1,024文字。 |
|
| ブール値 | オプション。 |
|
| 整数 | オプション。再利用可能な結果の最大経過時間(分単位)です。範囲:0~10,080。 |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| オブジェクト |
|
| ブール値 |
|
| 弦 |
|
例
name: start-athena-querydescription: Run a SQL query against Athenasteps: - name: startQuery type: action action: aws.athena.startQueryExecution version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 queryString: "SELECT * FROM my_table LIMIT 10" database: "my-database" catalog: "AwsDataCatalog" outputLocation: "s3://my-athena-results-bucket/path/" workGroup: "primary" selectors: - name: queryExecutionId expression: ".response.QueryExecutionId" next: endクエリ実行の取得
アクション識別子はaws.athena.getQueryExecutionです。
実行IDを使用して、単一のAthenaクエリ実行の詳細と現在のステータスを返します。これを使用して、aws.athena.startQueryExecutionによって開始されたクエリが終了状態(SUCCEEDED、FAILED、またはCANCELLED)に達するまでポーリングしてください。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。AthenaワークグループのAWSリージョン。 |
|
| 弦 | 必須。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| オブジェクト |
|
| ブール値 |
|
| 弦 |
|
例
name: get-athena-query-executiondescription: Check the status of an Athena query executionsteps: - name: getExecution type: action action: aws.athena.getQueryExecution version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 queryExecutionId: "ef4a125f-9e79-466d-bae5-d6d36536fbee" selectors: - name: state expression: ".response.QueryExecution.Status.State" - name: stateChangeReason expression: ".response.QueryExecution.Status.StateChangeReason" next: endクエリ結果を取得
アクション識別子はaws.athena.getQueryResultsです。
完了したAthenaクエリ実行の行および列のメタデータを返します。結果はページ分割されます — レスポンスにNextTokenが含まれる場合、次のページを取得するための次回の呼び出し時にnextTokenとして渡してください。ResultSet.Rowsの最初の行は常にヘッダー行(列名)です。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。AthenaワークグループのAWSリージョン。 |
|
| 弦 | 必須。完了したクエリ実行のUUID。長さ:1~128文字。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。以前に切り捨てられたレスポンスからのページネーショントークンです。最初のページから開始する場合は、省略してください。長さ:1~1,024文字。 |
|
| 整数 | オプション。1ページあたりに返す行の最大数です。範囲:1–1,000。 |
|
| 弦 | オプション。返す結果のタイプです。許可される値: |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| オブジェクト |
|
| ブール値 |
|
| 弦 |
|
例
name: get-athena-query-resultsdescription: Fetch results of a completed Athena querysteps: - name: getResults type: action action: aws.athena.getQueryResults version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 queryExecutionId: "8d0105c1-30b5-4b8f-a23e-a1b60047c43f" maxResults: 100 selectors: - name: rows expression: ".response.ResultSet.Rows" - name: columnInfo expression: ".response.ResultSet.ResultSetMetadata.ColumnInfo" - name: nextToken expression: ".response.NextToken" next: end