기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
분산 맵을 사용하여 Amazon S3에서 CSV 파일 처리
이 샘플 프로젝트는 Distributed Map 상태를 사용하여를 사용하여 생성된 CSV 파일의 10,000개 행을 반복하는 방법을 보여줍니다.Lambda 함수. CSV 파일에는 고객 주문의 배송 정보가 포함되어 있으며 Amazon S3 버킷에 저장됩니다. 분산 맵은 데이터 분석을 위해 CSV 파일의 10개 행 배치를 반복합니다.
분산 맵에는 Lambda 지연된 주문을 감지하는 함수입니다. 또한 Distributed Map에는 지연된 주문을 일괄 처리하고 이러한 지연된 주문을 배열로 반환하는 Inline Map도 포함되어 있습니다. 지연된 각 순서에 대해 인라인 맵은에 메시지를 보냅니다.Amazon SQS 대기열. 마지막으로, 이 샘플 프로젝트는 맵 실행 결과를 AWS 계정의 다른 Amazon S3 버킷에 저장합니다.
Distributed Map을 사용하면 하위 워크플로 실행을 한 번에 최대 10,000개까지 동시에 실행할 수 있습니다. 이 샘플 프로젝트에서 Distributed Map의 최대 동시성은 1,000개로 설정되어 있으며 이 경우 하위 워크플로 동시 실행은 1,000개로 제한됩니다.
이 샘플 프로젝트는 상태 시스템, 지원 AWS 리소스를 생성하고 관련 IAM 권한을 구성합니다. 이 샘플 프로젝트를 살펴보고 Distributed Map을 사용하여 대규모 병렬 워크로드를 오케스트레이션하는 방법을 알아보거나 자체 프로젝트의 시작점으로 사용합니다.
1단계: 상태 시스템 만들기
-
Step Functions 콘솔
을 열고 상태 시스템 생성을 선택합니다. -
작업할 스타터 템플릿을 찾아 선택합니다. 다음을 선택하여 계속 진행합니다.
-
데모 실행을 선택하여 읽기 전용 및 ready-to-deploy 워크플로를 생성하거나, 데모에 빌드를 선택하여 나중에 배포할 수 있는 편집 가능한 상태 시스템 정의를 생성합니다.
-
템플릿 사용을 선택하여 계속 선택합니다.
다음 단계는 이전 선택에 따라 달라집니다.
-
데모 실행 -가에 배포한 리소스로 읽기 전용 프로젝트를 생성하기 전에 상태 시스템을 검토할 수 AWS CloudFormation 있습니다 AWS 계정.
상태 시스템 정의를 볼 수 있으며 준비가 되면 배포 및 실행을 선택하여 프로젝트를 배포하고 리소스를 생성합니다.
배포는 리소스 및 권한을 생성하는 데 최대 10분이 걸릴 수 있습니다. 스택 ID 링크를 사용하여 AWS CloudFormation의 진행 상황을 모니터링할 수 있습니다.
배포가 완료되면 콘솔에 새 상태 시스템이 표시됩니다.
-
이를 기반으로 구축 - 워크플로 정의를 검토하고 편집할 수 있습니다. 사용자 지정 워크플로 실행을 시도하기 전에 샘플 프로젝트의 자리 표시자에 대한 값을 설정해야 할 수 있습니다.
참고
계정에 배포된 서비스에 표준 요금이 적용될 수 있습니다.
2단계: 상태 시스템 실행
상태 시스템 페이지에서 샘플 프로젝트를 선택합니다.
샘플 프로젝트 페이지에서 실행 시작을 선택합니다.
실행 시작 대화 상자에서 다음을 수행합니다.
-
(선택 사항) 생성된 기본값을 재정의하려면 사용자 지정 실행 이름을 입력합니다.
비ASCII 이름 및 로깅
Step Functions는 비ASCII 문자가 포함된 상태 시스템, 실행, 활동 및 레이블의 이름을 허용합니다. 이러한 문자는 Amazon에서 작동하지 않으므로 지표를 추적할 수 있도록 ASCII 문자만 사용하는 CloudWatch것이 좋습니다 CloudWatch.
-
(선택 사항) 입력 상자에 입력 값을 로 입력합니다JSON. 데모를 실행하는 경우 이 단계를 건너뛸 수 있습니다.
-
실행 시작을 선택합니다.
Step Functions 콘솔은 그래프 보기에서 상태를 선택하여 단계 세부 정보 창의 관련 정보를 탐색할 수 있는 실행 세부 정보 페이지로 연결됩니다.
-
축하합니다!
이제 실행 중인 데모 또는 사용자 지정할 수 있는 상태 시스템 정의가 있을 것입니다.