애플리케이션 패키지는 Azure Batch 솔루션의 코드를 간소화하고 태스크가 실행되는 애플리케이션을 더 쉽게 관리할 수 있습니다. 애플리케이션 패키지를 사용하면 지원 파일을 포함하여 태스크가 실행하는 여러 버전의 애플리케이션을 업로드하고 관리할 수 있습니다. 그런 다음 풀의 컴퓨팅 노드에 이러한 애플리케이션 중 하나 이상을 자동으로 배포할 수 있습니다.
애플리케이션 패키지를 만들고 관리하기 위한 API는 Batch 관리 .NET 라이브러리의 일부입니다. 컴퓨팅 노드에 애플리케이션 패키지를 설치하기 위한 API는 Batch .NET 라이브러리의 일부입니다. 비슷한 기능은 다른 프로그래밍 언어에 사용할 수 있는 Batch API에 있습니다.
이 문서에서는 애플리케이션 패키지에 대해 지원되는 업로드 워크플로를 설명하고, Azure 포털에서 업로드 및 관리하는 방법을 설명하고, 배치 .NET 라이브러리를 사용하여 풀의 컴퓨팅 노드에 설치하는 방법을 보여 줍니다.
중요합니다
2026년 5월부터 보안 개선은 Azure PowerShell, Batch Management SDK 및 Batch Management REST API를 통한 프로그래밍 방식 애플리케이션 패키지 업로드에 영향을 줍니다. 새 애플리케이션 패키지를 업로드하기 전에 지원되는 업로드 워크플로 를 검토합니다. Azure 포털, Azure CLI 및 Batch Explorer 사용자는 영향을 받지 않습니다.
애플리케이션 패키지 요구 사항
애플리케이션 패키지를 사용하려면 Azure Storage 계정을 Batch 계정에 연결 해야 합니다.
Batch 계정 내의 애플리케이션 및 애플리케이션 패키지 수와 최대 애플리케이션 패키지 크기에 대한 제한 사항이 있습니다. 자세한 내용은 Batch 서비스 할당량 및 제한을 참조하세요.
비고
2017년 7월 5일 이전에 만든 Batch 풀은 애플리케이션 패키지를 지원하지 않습니다(Cloud Services 구성을 사용하여 2016년 3월 10일 이후에 생성되지 않은 경우). 여기에 설명된 애플리케이션 패키지 기능은 이전 버전의 서비스에서 사용할 수 있는 Batch Apps 기능을 대체합니다.
애플리케이션 및 애플리케이션 패키지 이해
Azure Batch 내에서 애플리케이션은 풀의 컴퓨팅 노드에 자동으로 다운로드할 수 있는 버전이 지정된 이진 파일의 세트를 나타냅니다. 애플리케이션에는 애플리케이션의 다른 버전을 나타내는 하나 이상의 애플리케이션 패키지가 포함되어 있습니다.
각 애플리케이션 패키지는 애플리케이션 이진 파일 및 지원 파일을 포함하는 .zip 파일입니다. .zip 형식만 지원됩니다.
애플리케이션 패키지는 풀 수준 또는 작업 수준에서 지정할 수 있습니다.
풀 애플리케이션 패키지는 풀 의 모든 노드에 배포됩니다. 애플리케이션은 노드가 풀에 조인할 때와 다시 부팅되거나 이미지로 다시 설치될 때 배포됩니다.
풀 애플리케이션 패키지는 풀의 모든 노드가 작업의 태스크를 실행할 때 적합합니다. 풀을 만들 때 배포할 애플리케이션 패키지를 하나 이상 지정할 수 있습니다. 기존 풀의 패키지를 추가하거나 업데이트할 수도 있습니다. 기존 풀에 새 패키지를 설치하려면 해당 노드를 다시 시작해야 합니다.
태스크 애플리케이션 패키지는 태스크 의 명령줄을 실행하기 직전에 작업을 실행하도록 예약된 컴퓨팅 노드에만 배포됩니다. 지정된 애플리케이션 패키지 및 버전이 노드에 이미 있는 경우 다시 배포되지 않고 기존 패키지가 사용됩니다.
작업 애플리케이션 패키지는 하나의 풀에서 다른 작업이 실행되고 작업이 완료되면 풀이 삭제되지 않는 공유 풀 환경에서 유용합니다. 작업에 풀의 노드보다 적은 태스크가 있는 경우 태스크를 실행하는 노드에만 애플리케이션이 배포되므로 태스크 애플리케이션 패키지는 데이터 전송을 최소화할 수 있습니다.
작업 애플리케이션 패키지의 이점을 얻을 수 있는 다른 시나리오는 큰 애플리케이션을 실행하는 작업이지만 몇 가지 작업에만 해당합니다. 예를 들어 태스크 애플리케이션은 중량 전처리 단계 또는 병합 작업에 유용할 수 있습니다.
애플리케이션 패키지를 사용하면 풀의 시작 태스크에서 노드에 설치할 개별 리소스 파일의 긴 목록을 지정할 필요가 없습니다. Azure Storage 또는 노드에서 여러 버전의 애플리케이션 파일을 수동으로 관리할 필요가 없습니다. 또한 Azure Storage 계정의 파일에 대한 액세스를 제공하기 위해 SAS URL 을 생성하는 것에 대해 걱정할 필요가 없습니다. Batch는 Azure Storage를 사용하여 백그라운드에서 작동하여 애플리케이션 패키지를 저장하고 컴퓨팅 노드에 배포합니다.
비고
시작 작업의 총 크기는 리소스 파일 및 환경 변수를 포함하여 32,768자 미만이어야 합니다. 시작 작업이 이 제한을 초과하는 경우 애플리케이션 패키지를 사용하는 것이 또 다른 옵션입니다. 리소스 파일이 포함된 .zip 파일을 생성하여 Azure Storage에 Blob 형태로 업로드하고, 시작 작업의 명령줄 인터페이스에서 압축을 해제할 수 있습니다.
애플리케이션 업로드 및 관리
다음 섹션에서는 스토리지 계정을 연결하고, 지원되는 업로드 워크플로를 설명하고, Azure 포털에서 애플리케이션 및 애플리케이션 패키지를 추가하고 관리하는 방법을 보여 줍니다.
비고
ARM 템플릿의 Microsoft.Batch/batchAccounts 리소스에서 애플리케이션 값을 정의할 수 있지만 현재 ARM 템플릿을 사용하여 Batch 계정에서 사용할 애플리케이션 패키지를 업로드할 수는 없습니다. 새 애플리케이션 추가에 설명된 대로 연결된 스토리지 계정에 업로드해야 합니다.
스토리지 계정 연결
애플리케이션 패키지를 사용하려면 Azure Storage 계정을 Batch 계정에 연결해야 합니다. Batch 서비스는 관련 스토리지 계정을 사용하여 애플리케이션 패키지를 저장합니다. 이상적으로 Batch 계정과 함께 사용할 스토리지 계정을 만들어야 합니다.
스토리지 계정을 아직 구성하지 않은 경우 Batch 계정의 왼쪽 탐색 메뉴에서 애플리케이션 을 처음 선택할 때 Azure Portal에 경고가 표시됩니다. 스토리지 계정을 Batch 계정에 연결하려면 다음을 수행합니다.
- "이 일괄 처리 계정에 대해 구성된 스토리지 계정이 없습니다."라는 경고 창을 선택합니다.
- 그런 다음, 다음 페이지에서 스토리지 계정 설정...을 선택합니다.
- 스토리지 계정 정보 섹션에서 스토리지 계정 선택 링크를 선택합니다.
- 스토리지 계정 선택 창의 목록에서 이 일괄 처리 계정과 함께 사용할 스토리지 계정을 선택합니다 .
- 그런 다음 페이지의 왼쪽 위 모서리에서 저장 을 선택합니다.
두 계정을 연결한 후 Batch는 연결된 Storage 계정에 저장된 패키지를 컴퓨팅 노드에 자동으로 배포할 수 있습니다.
중요합니다
방화벽 규칙으로 구성되거나 계층 구조 네임스페이스가 사용으로 설정된 Azure Storage 계정에서는 애플리케이션 패키지를 사용할 수 없습니다.
Batch 서비스는 Azure Storage를 사용하여 애플리케이션 패키지를 블록 Blob으로 저장합니다. 블록 Blob 데이터에 대해 정상적으로 요금이 청구 되며 각 패키지의 크기는 최대 블록 Blob 크기를 초과할 수 없습니다. 자세한 내용은 Blob Storage의 확장성 및 성능 목표를 참조하세요. 비용을 최소화하려면 애플리케이션 패키지의 크기와 수를 고려하고 사용되지 않는 패키지를 주기적으로 제거해야 합니다.
지원되는 업로드 워크플로
Azure 포털, Azure CLI, Azure PowerShell, Batch Explorer, Batch Management SDK 또는 Batch Management REST API를 사용하여 애플리케이션 패키지를 업로드하고 관리할 수 있습니다.
2026년 5월부터 Azure PowerShell, Batch Management SDK, Batch Management REST API 또는 다른 API 기반 도구를 사용하여 애플리케이션 패키지를 프로그래밍 방식으로 업로드하는 경우 이 섹션에 설명된 지원되는 업로드 워크플로를 사용해야 합니다.
필수 업로드 시퀀스: 만들기, 업로드, 활성화
다음 시퀀스를 사용하여 애플리케이션 패키지 버전을 업로드합니다.
- (HTTP
ApplicationPackage - Create)를 사용하여PUT애플리케이션 패키지를 만들거나 업데이트합니다. 응답에는 패키지 파일을 업로드하는 URL 및properties.storageUrlURL이 만료되는 시기를 나타내는 URL이 포함properties.storageUrlExpiry됩니다. - 애플리케이션 패키지 파일(.zip 파일)을
storageUrl에 업로드하세요. URL은 Batch 계정에 연결된 스토리지 계정의 블록 블롭을 가리킵니다. -
ApplicationPackage - Activate(HTTPPOST)를 사용하여 풀과 태스크에서 사용할 수 있도록 패키지를 활성화합니다.
API 응답에서 storageUrl 및 storageUrlExpiry의 동작
이 보안 향상을 통해 Azure Batch 업로드 URL 및 만료는 ApplicationPackage - Create(HTTP PUT) 응답에서만 반환됩니다.
ApplicationPackage - Get (HTTP GET) 및 ApplicationPackage - Activate (HTTP POST) 응답에서 properties.storageUrl 및 properties.storageUrlExpiry는 null입니다:
-
2025-06-01이후의 API 버전:properties.storageUrl및properties.storageUrlExpiry는 HTTPGET및 HTTPPOST응답에서 항상null됩니다. 이 동작을 옵트아웃할 수 없습니다. -
API 버전
2025-06-01및 이전 버전: 2026년 5월부터 점진적 출시가 동일한 동작을 적용합니다. 서비스 중단을 최소화하기 위해 Azure Batch는 업로드용 URL을 가져오기 위해 여전히 HTTPGET를 사용하고 있는 것으로 감지된 사용자에게 일시적으로 예외를 적용합니다. 지원되는 워크플로로 마이그레이션 계획: HTTPPUT를 사용하여 업로드 URL을 가져와 패키지 파일을 업로드한 다음 HTTPPOST를 사용하여 애플리케이션 패키지를 활성화합니다.
중요합니다
API 버전 2025-06-01 이하를 사용하고 워크플로가 레거시 응답 형식에 의존하여 점진적 롤아웃 중 영향을 받는 경우 Azure 지원 티켓을 생성하세요. 지원되는 업로드 워크플로로 마이그레이션할 계획입니다.
이것이 도구에 미치는 영향
다음 표에서는 각 도구에 대해 작업을 수행해야 하는지 여부를 요약합니다.
| 도구 | 조치가 필요합니다 |
|---|---|
| Azure portal | 없음. |
| Azure CLI | 없음. |
| Azure PowerShell | Azure PowerShell 버전 15.2 이상으로 업데이트합니다. 여기에는 Az.Batch 모듈 버전 4.0.1 이상이 포함됩니다. |
| 배치 탐색기 | 없음. |
| Batch 관리 SDK | 워크플로를 검토합니다. 업로드 워크플로에서 HTTP GET 를 사용하여 업로드 URL을 가져오는 경우 HTTP PUT를 사용하도록 워크플로를 업데이트합니다. 예를 들어 .NET Update() 사용하여 URL에 업로드한 다음 Activate() 사용합니다. 업로드 목적으로 URL을 가져오는 데 사용하지 Get() 마세요. |
| Batch 관리 REST API | 워크플로를 검토합니다. 업로드 워크플로에서 HTTP GET 를 사용하여 업로드 URL을 가져오는 경우 HTTP PUT를 사용하도록 워크플로를 업데이트합니다. 업로드를 위해 URL을 가져오는 데 HTTP GET 를 사용하지 마세요. |
새 애플리케이션 추가
새 애플리케이션을 만들려면 애플리케이션 패키지를 추가하고 고유한 애플리케이션 ID를 지정합니다.
Batch 계정의 왼쪽 탐색 메뉴에서 애플리케이션 을 선택한 다음 추가를 선택합니다.
다음 정보를 입력합니다.
- 애플리케이션 ID: 새 애플리케이션의 ID입니다.
- 버전: 업로드하는 애플리케이션 패키지의 버전입니다.
- 애플리케이션 패키지: 애플리케이션 이진 파일이 포함된 .zip 파일 및 애플리케이션을 실행하는 데 필요한 지원 파일입니다.
입력한 애플리케이션 ID 및 버전은 다음 요구 사항을 따라야 합니다.
- Windows 노드에서 ID에는 영숫자, 하이픈 및 밑줄의 모든 조합을 사용할 수 있습니다. Linux 노드에서는 영숫자와 밑줄만 허용됩니다.
- 64자를 초과할 수 없습니다.
- Batch 계정 내에서 고유해야 합니다.
- ID는 대/소문자를 유지하고 대/소문자를 구분하지 않습니다.
준비가 되면 제출을 선택합니다. .zip 파일이 Azure Storage 계정에 업로드되면 포털에 알림이 표시됩니다. 업로드하는 파일의 크기와 네트워크 연결 속도에 따라 이 프로세스에 다소 시간이 걸릴 수 있습니다.
현재 애플리케이션 보기
Batch 계정에서 애플리케이션을 보려면 왼쪽 탐색 메뉴에서 애플리케이션 을 선택합니다.
이 메뉴 옵션을 선택하면 애플리케이션 창이 열립니다. 이 창에는 계정에 있는 각 애플리케이션의 ID와 다음 속성이 표시됩니다.
- 패키지: 이 애플리케이션과 연결된 버전 수입니다.
- 기본 버전: 해당하는 경우 애플리케이션을 배포할 때 버전이 지정되지 않은 경우 설치된 애플리케이션 버전입니다.
- 업데이트 허용: 패키지 업데이트 및 삭제가 허용되는지 여부를 지정합니다.
컴퓨팅 노드에서 애플리케이션 패키지의 파일 구조를 보려면 Azure Portal에서 Batch 계정으로 이동합니다. 풀을 선택합니다. 그런 다음 컴퓨팅 노드가 포함된 풀을 선택합니다. 애플리케이션 패키지가 설치된 컴퓨팅 노드를 선택하고 애플리케이션 폴더를 엽니다.
애플리케이션 세부 정보 보기
애플리케이션에 대한 세부 정보를 보려면 애플리케이션 창에서 선택합니다. 왼쪽 탐색 메뉴에서 설정을 선택하여 애플리케이션을 구성할 수 있습니다.
- 업데이트 허용: 애플리케이션 패키지를 업데이트하거나 삭제할 수 있는지 여부를 나타냅니다. 기본값은 예입니다. 아니요로 설정하면 기존 애플리케이션 패키지를 업데이트하거나 삭제할 수 없지만 새 애플리케이션 패키지 버전은 계속 추가할 수 있습니다.
- 기본 버전: 버전이 지정되지 않은 경우 애플리케이션이 배포될 때 사용할 기본 애플리케이션 패키지입니다.
- 표시 이름: Batch 솔루션이 애플리케이션에 대한 정보를 표시할 때 사용할 수 있는 친숙한 이름입니다. 예를 들어 이 이름은 Batch를 통해 고객에게 제공하는 서비스의 UI에서 사용할 수 있습니다.
새 애플리케이션 패키지 추가
기존 애플리케이션에 대한 애플리케이션 패키지 버전을 추가하려면 Batch 계정의 애플리케이션 페이지에서 애플리케이션 을 선택합니다. 그런 다음, 추가를 선택합니다.
새 애플리케이션에 대해 했던 것처럼 새 패키지의 버전을 지정하고 애플리케이션 패키지 필드에 .zip 파일을 업로드한 다음 제출을 선택합니다.
애플리케이션 패키지 업데이트 또는 삭제
기존 애플리케이션 패키지를 업데이트하거나 삭제하려면 Batch 계정의 애플리케이션 페이지에서 애플리케이션 을 선택합니다. 수정하려는 애플리케이션 패키지의 행에서 줄임표를 선택합니다. 그런 다음 수행하려는 작업을 선택합니다.
업데이트를 선택하면 새 .zip 파일을 업로드할 수 있습니다. 이 파일은 해당 버전에 대해 업로드한 이전 .zip 파일을 대체합니다.
삭제를 선택하면 해당 버전의 삭제를 확인하라는 메시지가 표시됩니다. 확인을 선택하면 Batch가 Azure Storage 계정에서 .zip 파일을 삭제합니다. 애플리케이션의 기본 버전을 삭제하면 해당 애플리케이션에 대한 기본 버전 설정이 제거됩니다.
컴퓨팅 노드에 애플리케이션 설치
Azure Portal에서 애플리케이션 패키지를 관리하는 방법을 알아보았습니다. 이제 컴퓨팅 노드에 배포하고 Batch 작업과 함께 실행하는 방법을 배울 수 있습니다.
풀 애플리케이션 패키지 설치
풀의 모든 컴퓨팅 노드에 애플리케이션 패키지를 설치하려면 풀에 대한 애플리케이션 패키지 참조를 하나 이상 지정합니다. 풀에 지정하는 애플리케이션 패키지는 풀을 조인하는 각 컴퓨팅 노드와 다시 부팅되거나 이미지로 다시 설치되는 모든 노드에 설치됩니다.
Azure. ResourceManager.Batch는 새 풀을 만들거나 기존 풀을 업데이트할 때 BatchApplicationPackageReference 항목을 BatchAccountPoolData.ApplicationPackages 컬렉션에 지정합니다. 클래스는 BatchApplicationPackageReference 풀의 컴퓨팅 노드에 설치할 애플리케이션 ID 및 버전을 지정합니다.
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
ResourceIdentifier batchAccountResourceId =
BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
BatchAccountResource batchAccount = armClient.GetBatchAccountResource(batchAccountResourceId);
BatchAccountPoolCollection poolCollection = batchAccount.GetBatchAccountPools();
BatchAccountPoolData poolData = new BatchAccountPoolData()
{
VmSize = "standard_d1_v2",
DeploymentConfiguration = new BatchDeploymentConfiguration()
{
VmConfiguration = new BatchVmConfiguration(
imageReference: new BatchImageReference()
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2019-datacenter-core",
Version = "latest"
},
nodeAgentSkuId: "batch.node.windows amd64")
},
ScaleSettings = new BatchAccountPoolScaleSettings()
{
FixedScale = new BatchAccountFixedScaleSettings() { TargetDedicatedNodes = 1 }
}
};
// Specify the application and version to install on the compute nodes
poolData.ApplicationPackages.Add(
new Azure.ResourceManager.Batch.Models.BatchApplicationPackageReference(
new ResourceIdentifier($"{batchAccountResourceId}/applications/litware"))
{
Version = "1.1001.2b"
});
// Create the pool. As the nodes join the pool, the specified application package
// is installed on each.
ArmOperation<BatchAccountPoolResource> pool = await poolCollection.CreateOrUpdateAsync(
WaitUntil.Completed, "myPool", poolData);
중요합니다
애플리케이션 패키지 배포가 실패하면 Batch 서비스는 노드를 사용할 수 없음 으로 표시하고 해당 노드에서 실행되도록 예약된 작업이 없습니다. 이 경우 노드를 다시 시작하여 패키지 배포를 다시 시작합니다. 노드를 다시 시작하면 노드에서 작업을 다시 예약할 수도 있습니다.
작업 애플리케이션 패키지 설치
풀과 마찬가지로 작업에 대한 애플리케이션 패키지 참조를 지정합니다. 태스크가 노드에서 실행되도록 예약되면 태스크의 명령줄이 실행되기 직전에 패키지가 다운로드되고 추출됩니다. 지정된 패키지 및 버전이 노드에 이미 설치된 경우 패키지가 다운로드되지 않고 기존 패키지가 사용됩니다.
작업 애플리케이션 패키지를 설치하려면 태스크의 BatchTaskCreateOptions.ApplicationPackageReferences 속성을 구성합니다.
BatchTaskCreateOptions task = new BatchTaskCreateOptions(
"litwaretask001",
"cmd /c %AZ_BATCH_APP_PACKAGE_LITWARE%\\litware.exe -args -here");
task.ApplicationPackageReferences.Add(
new Azure.Compute.Batch.BatchApplicationPackageReference("litware")
{
Version = "1.1001.2b"
});
설치된 애플리케이션 실행
풀 또는 태스크에 지정한 패키지는 다운로드되어 노드 내의 명명된 디렉터리로 AZ_BATCH_ROOT_DIR 추출됩니다. 또한 Batch는 명명된 디렉터리에 대한 경로를 포함하는 환경 변수를 만듭니다. 작업 명령줄은 노드에서 애플리케이션을 참조할 때 이 환경 변수를 사용합니다.
Windows 노드에서 변수는 다음과 같은 형식입니다.
Windows:
AZ_BATCH_APP_PACKAGE_APPLICATIONID#version
Linux 노드에서 형식은 약간 다릅니다. 마침표(.), 하이픈(-), 숫자 기호(#)는 환경 변수에서 밑줄(_)로 변환됩니다. 또한 애플리케이션 ID의 경우는 유지됩니다. 다음은 그 예입니다.
Linux:
AZ_BATCH_APP_PACKAGE_applicationid_version
APPLICATIONID 배포 version 를 위해 지정한 애플리케이션 및 패키지 버전에 해당하는 값입니다. 예를 들어 Windows 노드에 애플리케이션 블렌더 버전 2.7을 설치하도록 지정하면 작업 명령줄에서 이 환경 변수를 사용하여 해당 파일에 액세스합니다.
Windows:
AZ_BATCH_APP_PACKAGE_BLENDER#2.7
Linux 노드에서 환경 변수를 이 형식으로 지정합니다. 마침표(.), 하이픈(-) 및 숫자 기호(#)를 밑줄로 평면화하고 애플리케이션 ID의 대/소문자를 유지합니다.
Linux:
AZ_BATCH_APP_PACKAGE_blender_2_7
애플리케이션 패키지를 업로드할 때 컴퓨팅 노드에 배포할 기본 버전을 지정할 수 있습니다. 애플리케이션의 기본 버전을 지정한 경우 애플리케이션을 참조할 때 버전 접미사를 생략할 수 있습니다. 애플리케이션 업로드 및 관리와 같이 Azure Portal의 애플리케이션 창에서 기본 애플리케이션 버전을 지정할 수 있습니다.
예를 들어 "2.7"을 애플리케이션 블렌더의 기본 버전으로 설정하고 태스크가 다음 환경 변수를 참조하는 경우 Windows 노드는 버전 2.7을 사용합니다.
AZ_BATCH_APP_PACKAGE_BLENDER
다음 코드 조각은 블렌더 애플리케이션의 기본 버전을 시작하는 예제 작업 명령줄을 보여 줍니다.
string taskId = "blendertask01";
string commandLine =
@"cmd /c %AZ_BATCH_APP_PACKAGE_BLENDER%\blender.exe -args -here";
BatchTaskCreateOptions blenderTask = new BatchTaskCreateOptions(taskId, commandLine);
팁 (조언)
컴퓨팅 노드 환경 설정에 대한 자세한 내용은 작업에 대한 환경 설정을 참조하세요.
풀의 애플리케이션 패키지 업데이트
기존 풀이 애플리케이션 패키지로 이미 구성된 경우 풀에 대한 새 패키지를 지정할 수 있습니다. 즉, 다음을 의미합니다.
- Batch 서비스는 풀에 조인하는 모든 새 노드와 다시 부팅되거나 이미지로 다시 설치되는 기존 노드에 새로 지정된 패키지를 설치합니다.
- 패키지 참조를 업데이트할 때 이미 풀에 있는 컴퓨팅 노드는 새 애플리케이션 패키지를 자동으로 설치하지 않습니다. 새 패키지를 받으려면 이러한 컴퓨팅 노드를 다시 부팅하거나 이미지로 다시 설치해야 합니다.
- 새 패키지가 배포되면 생성된 환경 변수는 새 애플리케이션 패키지 참조를 반영합니다.
이 예제에서 기존 풀에는 애플리케이션 패키지 참조 중 하나로 구성된 블렌더 애플리케이션 버전 2.7이 있습니다. 풀의 노드를 버전 2.76b로 업데이트하려면 새 버전으로 새 BatchApplicationPackageReference 를 지정하고 변경 내용을 커밋합니다.
var credential = new DefaultAzureCredential();
ArmClient armClient = new ArmClient(credential);
string newVersion = "2.76b";
ResourceIdentifier batchAccountResourceId =
BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
BatchAccountPoolResource boundPool = await armClient
.GetBatchAccountPoolResource(BatchAccountPoolResource.CreateResourceIdentifier(
"subscriptionId", "resourceGroupName", "accountName", "myPool"))
.GetAsync();
BatchAccountPoolData poolData = boundPool.Data;
poolData.ApplicationPackages.Clear();
poolData.ApplicationPackages.Add(
new Azure.ResourceManager.Batch.Models.BatchApplicationPackageReference(
new ResourceIdentifier($"{batchAccountResourceId}/applications/blender"))
{
Version = newVersion
});
await boundPool.UpdateAsync(poolData);
이제 새 버전이 구성되었으므로 Batch 서비스는 풀에 조인하는 모든 새 노드에 버전 2.76b를 설치합니다. 풀에 이미 있는 노드에 2.76b를 설치하려면 다시 부팅하거나 이미지로 다시 설치합니다. 다시 부팅된 노드는 이전 패키지 배포의 파일을 유지합니다.
Batch 계정에서 애플리케이션 나열
Azure.ResourceManager.Batch 컬렉션을 사용하여 Batch 계정에 애플리케이션 및 해당 패키지를 나열할 수 있습니다.
var credential = new DefaultAzureCredential();
ArmClient armClient = new ArmClient(credential);
ResourceIdentifier batchAccountResourceId =
BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
BatchAccountResource batchAccount = armClient.GetBatchAccountResource(batchAccountResourceId);
await foreach (BatchApplicationResource app in batchAccount.GetBatchApplications().GetAllAsync())
{
Console.WriteLine("ID: {0} | Display Name: {1}", app.Data.Name, app.Data.DisplayName);
await foreach (BatchApplicationPackageResource package in app.GetBatchApplicationPackages().GetAllAsync())
{
Console.WriteLine(" {0}", package.Data.Name);
}
}
다음 단계
- Batch REST API는 애플리케이션 패키지 작업도 지원합니다. 예를 들어 설치할 패키지를 지정하는 방법에 대한 applicationPackageReferences 요소와 애플리케이션 정보를 가져오는 방법에 대한 애플리케이션 을 참조하세요.
- Batch 관리 .NET을 사용하여 Azure Batch 계정 및 할당량을 프로그래밍 방식으로 관리하는 방법을 알아봅니다. Batch 관리 .NET 라이브러리를 사용하면 Batch 애플리케이션 또는 서비스에 대한 계정 만들기 및 삭제 기능을 사용할 수 있습니다.