使用 Step Functions 运行 Athena 查询 - AWS Step Functions

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Step Functions 运行 Athena 查询

您可以 AWS Step Functions 与 Amazon Athena 集成,启动和停止查询执行,并通过 Step Functions 获取查询结果。使用 Step Functions,您可以运行临时或计划数据查询,并检索针对 S3 数据湖的结果。Athena 没有服务器,因此您无需设置或管理任何基础设施,且只需为您运行的查询付费。本页列出了支持的 A APIs thena,并提供了启动 Athena Task 查询的示例状态。

Step Functions 可以直接从 Amazon States Language (ASL) 控制某些 AWS 服务。要了解更多信息,请参阅与其他服务集成在 Step Functions API 中向服务传递参数

优化后的 Athena 集成与 Athena 集成有何不同 AWS SDK

要 AWS Step Functions 与亚马逊 Athena 集成,您可以使用所提供的 Athena 服务集成。APIs

服务集成与相应APIs的 Athena APIs 相同。并非所有集成模式都APIs支持所有集成模式,如下表所示。

API 请求响应 运行作业 (.sync)
StartQueryExecution
StopQueryExecution
GetQueryExecution
GetQueryResults

支持的亚马逊 AthenaAPIs:

注意

在 Step Functions 中,任务的最大输入或结果数据大小有一个配额。这样,当您向其他服务发送数据或从其他服务接收数据时,您只能使用 256 KB 的数据作为 UTF -8 编码的字符串。请参阅 与状态机执行相关的配额

下面包含一个启动 Athena 查询作业的 Task 状态。

"Start an Athena query": { "Type": "Task", "Resource": "arn:aws:states:::athena:startQueryExecution.sync", "Parameters": { "QueryString": "SELECT * FROM \"myDatabase\".\"myTable\" limit 1", "WorkGroup": "primary", "ResultConfiguration": { "OutputLocation": "s3://athenaQueryResult" } }, "Next": "Get results of the query" }

有关在与其他 AWS 服务Step Functions一起使用时如何配置IAM权限的信息,请参阅Step Functions 如何为集成服务生成IAM策略