使用 Step Functions 呼叫 Athena - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用 Step Functions 呼叫 Athena

Step Functions 可以控制某些Amazon直接来自 Amazon 状态语言的服务。有关使用的更多信息Amazon Step Functions及其集成,请参阅以下内容:

优化的 Athena 集成与 Athena 有何不同AmazonSDK 集成

这些区域有:Amazon Step Functions与 Amazon Athena 的服务集成使您能够使用 Step Functions 启动和停止查询执行以及获取查询结果。使用 Step Functions 数,您可以运行临时或计划数据查询,以及检索针对 S3 数据湖的结果。Athena 没有服务器,因此您无需设置或管理任何基础设施,且只需为您运行的查询付费。

要集成Amazon Step Functions使用 Amazon Athena,您可以使用提供的 Athena 服务集成 API。

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

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

支持的 Amazon Athena API:

注意

Step 函数中任务的最大输入或结果数据大小有一个配额。当您向另一个服务发送或接收其他服务的数据时,这限制了您作为 UTF-8 编码字符串的 262,144 字节的数据。请参阅与状态机执行相关的配额

下面包括一个任务状态,此状态启动 Athena 查询。

"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" }

有关在将 Step Functions 与其他结合使用时如何配置 IAM 的信息。Amazon服务,请参阅针对集成服务的 IAM 策略.