작업 및 태스크 출력 유지
Azure Batch에서 실행 중인 태스크는 실행 시 출력 데이터를 생성할 수 있습니다. 작업의 다른 태스크, 작업을 실행한 클라이언트 애플리케이션 또는 둘 다에서 검색할 수 있도록 태스크 출력 데이터는 종종 저장할 필요가 있습니다. 태스크는 Batch 컴퓨팅 노드의 파일 시스템에 출력 데이터를 쓰지만, 노드 이미지를 다시 만들거나 노드에서 풀을 종료할 때 해당 노드의 모든 데이터가 손실됩니다. 또한 태스크에는 파일 보존 기간이 있을 수 있으며, 그 후에는 해당 태스크에서 만든 파일이 삭제됩니다. 이러한 이유로 나중에 Azure Storage와 같은 데이터 저장소에 필요한 태스크 출력을 유지하는 것이 중요합니다.
Batch의 스토리지 계정 옵션은 Batch 계정 및 Azure Storage 계정을 참조하세요.
태스크 출력의 일반적인 예는 다음과 같습니다.
- 태스크에서 입력 데이터를 처리할 때 만든 파일
- 태스크 실행과 관련된 로그 파일
이 문서에서는 출력 데이터를 유지하기 위한 다양한 옵션을 설명합니다. Batch 태스크 및 작업의 출력 데이터를 Azure Storage 또는 다른 저장소에 유지할 수 있습니다.
출력 유지 옵션
출력 데이터를 유지하는 방법에는 여러 가지가 있습니다. 시나리오에 가장 적합한 방법을 선택합니다.
- Batch 서비스 API 사용
- .NET용 Batch 파일 규칙 라이브러리 사용.
- C# 및 .NET 애플리케이션용 Batch 파일 규칙 라이브러리 사용
- .NET 이외의 언어에 Batch 파일 규칙 표준 사용
- 사용자 지정 파일 이동 솔루션 사용.
Batch 서비스 API
Batch 서비스 API를 사용하여 출력 데이터를 유지할 수 있습니다. 태스크를 작업에 추가하거나 태스크의 컬렉션을 작업에 추가할 때 태스크 데이터에 대한 Azure Storage의 출력 파일을 지정하도록 지원합니다.
자세한 내용은 Batch 서비스 API를 사용하여 Azure Storage에 태스크 데이터 유지를 참조하세요.
Batch 파일 규칙 라이브러리
Batch 파일 규칙 표준은 Azure Storage에서 태스크 출력 파일을 명명하기 위한 선택적인 규칙 집합입니다. 표준은 작업 및 태스크의 이름에 따라 파일의 대상 컨테이너 및 Blob 경로에 대한 명명 규칙을 제공합니다.
출력 데이터 파일을 명명하는 데 파일 규칙 표준을 사용하는 것은 선택 사항입니다. 대신 대상 컨테이너 및 Blob 경로의 이름을 지정하도록 선택할 수 있습니다. 파일 규칙 표준을 사용하는 경우 Azure Portal에서 출력 파일을 볼 수 있습니다.
C# 및 .NET을 사용하여 Batch 솔루션을 빌드하는 경우 .NET용 Batch 파일 규칙 라이브러리를 사용할 수 있습니다. 이 라이브러리는 출력 파일을 Azure Storage로 이동하고 Batch 파일 규칙 표준에 따라 대상 컨테이너 및 Blob의 이름을 지정합니다.
자세한 내용은 .NET용 Batch 파일 규칙 라이브러리를 사용하여 Azure Storage에 작업 및 태스크 데이터 유지를 참조하세요.
Batch 파일 규칙 표준
.NET 이외의 언어를 사용하는 경우 사용자 고유의 애플리케이션에서 Batch 파일 규칙 표준을 구현할 수 있습니다. 다음과 같은 경우에는 이 방법을 사용합니다.
- 일반적인 명명 체계를 사용하려고 합니다.
- Azure Portal에서 태스크 출력을 확인하려고 합니다.
사용자 지정 파일 이동 솔루션
사용자 고유의 완벽한 파일 이동 솔루션도 구현할 수 있습니다. 다음과 같은 경우에는 이 방법을 사용합니다.
- Azure Storage 이외의 다른 데이터 저장소에 태스크 데이터를 저장하려고 합니다. 예를 들어 Azure SQL 또는 Azure DataLake와 같은 데이터 저장소에 파일을 업로드하려고 합니다. 해당 위치에 업로드할 사용자 지정 스크립트 또는 실행 파일을 만듭니다. 그런 다음, 기본 실행 파일을 실행한 후 명령줄에서 사용자 지정 스크립트 또는 실행 파일을 호출합니다. 예를 들어, Windows 노드에서
doMyWork.exe && uploadMyFilesToSql.exe
를 호출합니다. - 초기 결과의 검사점 지정 또는 초기 업로드를 수행하려고 합니다.
- 오류 처리에 대한 세부적인 제어를 유지하려고 합니다. 예를 들어 태스크 종속성 동작을 사용하여 특정 태스크 종료 코드를 기반으로 한 특정 업로드 작업을 수행하려고 할 수 있습니다.
디자인 고려 사항
Batch 솔루션을 디자인할 때 다음 요소를 고려합니다.
컴퓨팅 노드는 종종 일시적이며, 자동 스케일링을 사용하도록 설정한 Batch 풀에서 특히 그렇습니다. 다음 경우에만 태스크의 출력을 볼 수 있습니다.
- 태스크가 실행 중인 노드가 있는 동안
- 태스크에 대해 설정한 파일 보존 기간 동안
Azure Portal에서 Batch 태스크를 보며, 노드의 파일을 선택한 경우 출력 파일만이 아니라 해당 태스크의 모든 파일을 볼 수 있습니다. 태스크의 출력을 풀의 컴퓨팅 노드에서 직접 검색하려면 파일 이름과 노드에서의 해당 출력 위치가 필요합니다.
태스크 출력 데이터를 더 오래 유지하려면 출력 파일을 데이터 저장소에 업로드하도록 태스크를 구성합니다. Azure Storage를 데이터 저장소로 사용하는 것이 좋습니다. Batch 서비스 API에서 Azure Storage에 태스크 출력 데이터를 쓰기 위한 통합이 있습니다. 다른 지속형 스토리지 옵션을 사용하여 데이터를 유지할 수 있습니다. 그러나 다른 스토리지 옵션에 대한 애플리케이션 논리를 직접 작성해야 합니다.
Azure Storage의 출력 데이터를 보려면 Azure Portal 또는 Azure Storage 클라이언트 애플리케이션(예: Azure Storage Explorer)을 사용합니다. 출력 파일의 위치를 확인하고 해당 위치로 직접 이동합니다.