Step Functions를 사용하여 Athena 직접 호출 - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Step Functions를 사용하여 Athena 직접 호출

Step Functions는 Amazon States Language (ASL) 에서 직접 특정 AWS 서비스를 제어할 수 있습니다. 자세한 내용은 다른 서비스와 함께 사용파라미터를 서비스 API에 전달 섹션을 참조하세요.

최적화된 아테나 통합이 Athena SDK 통합과 어떻게 다른가 AWS

Amazon Athena와의 AWS Step Functions 서비스 통합을 통해 Step Functions를 사용하여 쿼리 실행을 시작 및 중지하고 쿼리 결과를 가져올 수 있습니다. Step Functions를 사용하면 임시 또는 예약된 데이터 쿼리를 실행하고 S3 데이터 레이크를 대상으로 결과를 검색할 수 있습니다. Athena는 서버리스 서비스이므로 설정하거나 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불하면 됩니다.

Amazon AWS Step Functions Athena와 통합하려면 제공된 Athena 서비스 통합 API를 사용합니다.

서비스 통합 API는 해당 Athena API와 동일합니다. 다음 표에 나와 있는 것처럼 일부 API는 일부 통합 패턴을 지원하지 않습니다.

API 요청 및 응답 작업 실행(.sync)
StartQueryExecution
StopQueryExecution
GetQueryExecution
GetQueryResults

지원되는 Amazon Athena API는 다음과 같습니다.

참고

Step Functions에는 작업의 최대 입력 또는 결과 데이터 크기에 대한 할당량이 있습니다. 이를 통해 다른 서비스에 데이터를 보내거나 다른 서비스로부터 데이터를 받을 때 UTF-8 인코딩 문자열로 데이터 256KB까지 제한됩니다. 상태 시스템 실행과 관련된 할당량 섹션을 참조하십시오.

다음에는 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 권한을 구성하는 방법에 대한 자세한 내용은 을 참조하십시오. 통합 서비스용 IAM 정책