Batch uygulama paketleriyle işlem düğümlerine uygulama dağıtmaDeploy applications to compute nodes with Batch application packages

Azure Batch uygulama paketleri özelliği, görev uygulamalarının ve bunların havuzunuzdaki işlem düğümlerine dağıtımını kolay bir şekilde yönetme olanağı sağlar.The application packages feature of Azure Batch provides easy management of task applications and their deployment to the compute nodes in your pool. Uygulama paketleriyle, görevlerinizin çalıştırdığı uygulamaların birden çok sürümünü, destekleyici dosyaları da dahil olmak üzere karşıya yükleyebilir ve yönetebilirsiniz.With application packages, you can upload and manage multiple versions of the applications your tasks run, including their supporting files. Daha sonra bu uygulamalardan bir veya daha fazlasını havuzunuzdaki işlem düğümlerine otomatik olarak dağıtabilirsiniz.You can then automatically deploy one or more of these applications to the compute nodes in your pool.

Bu makalede, Azure portal uygulama paketlerini karşıya yüklemeyi ve yönetmeyi öğreneceksiniz.In this article, you learn how to upload and manage application packages in the Azure portal. Ardından, Batch .net kitaplığıyla bir havuzun işlem düğümlerine nasıl yükleneceğini öğreneceksiniz.You then learn how to install them on a pool's compute nodes with the Batch .NET library.

Not

Uygulama paketleri 5 Temmuz 2017’den sonra oluşturulmuş tüm Batch havuzlarında desteklenir.Application packages are supported on all Batch pools created after 5 July 2017. Bunların 10 Mart 2016 ve 5 Haziran 2017 arasında oluşturulmuş Batch havuzlarında desteklenebilmesi için, havuzun Bulut Hizmeti yapılandırması kullanılarak oluşturulmuş olması gerekir.They are supported on Batch pools created between 10 March 2016 and 5 July 2017 only if the pool was created using a Cloud Service configuration. 10 Mart 2016’dan önce oluşturulan Batch havuzları uygulama paketlerini desteklemez.Batch pools created prior to 10 March 2016 do not support application packages.

Uygulama paketleri oluşturmak ve yönetmek için API 'Ler Batch yönetimi .net kitaplığı 'nın bir parçasıdır.The APIs for creating and managing application packages are part of the Batch Management .NET library. Uygulama paketlerini bir işlem düğümüne yüklemek için API 'Ler Batch .net kitaplığı 'nın bir parçasıdır.The APIs for installing application packages on a compute node are part of the Batch .NET library. Benzer özellikler, diğer diller için kullanılabilir Batch API 'Lerinde bulunur.Comparable features are in the available Batch APIs for other languages.

Burada açıklanan uygulama paketleri özelliği, hizmetin önceki sürümlerinde bulunan Batch Apps özelliğinin yerini alır.The application packages feature described here supersedes the Batch Apps feature available in previous versions of the service.

Uygulama paketi gereksinimleriApplication package requirements

Uygulama paketlerini kullanmak için, Batch hesabınıza bir Azure depolama hesabı bağlamanız gerekir.To use application packages, you need to link an Azure Storage account to your Batch account.

Uygulamalar ve uygulama paketleri hakkındaAbout applications and application packages

Azure Batch içinde bir uygulama , havuzunuzdaki işlem düğümlerine otomatik olarak indirilebilen bir sürümlü ikili dosyalar kümesine başvurur.Within Azure Batch, an application refers to a set of versioned binaries that can be automatically downloaded to the compute nodes in your pool. Bir uygulama paketi , bu ikili dosyaların belirli bir kümesini gösterir ve uygulamanın belirli bir sürümünü temsil eder.An application package refers to a specific set of those binaries and represents a given version of the application.

Uygulamalar ve uygulama paketlerinin üst düzey diyagramıHigh-level diagram of applications and application packages

UygulamalarApplications

Batch 'deki bir uygulama bir veya daha fazla uygulama paketi içerir ve uygulama için yapılandırma seçeneklerini belirtir.An application in Batch contains one or more application packages and specifies configuration options for the application. Örneğin, bir uygulama, işlem düğümlerine yüklenecek varsayılan uygulama paketi sürümünü ve paketlerin güncelleştirilip güncelleştirimeyeceğini veya silinemeyeceğini belirtebilir.For example, an application can specify the default application package version to install on compute nodes and whether its packages can be updated or deleted.

Uygulama paketleriApplication packages

Uygulama paketi, uygulama ikililerini içeren bir. zip dosyasıdır ve görevleriniz uygulamayı çalıştırmak için gerekli dosyaları destekler.An application package is a .zip file that contains the application binaries and supporting files that are required for your tasks to run the application. Her uygulama paketi, uygulamanın belirli bir sürümünü temsil eder.Each application package represents a specific version of the application.

Uygulama paketlerini havuz ve görev düzeylerinde belirtebilirsiniz.You can specify application packages at the pool and task levels. Bir havuz veya görev oluşturduğunuzda, bu paketlerden bir veya daha fazlasını ve (isteğe bağlı olarak) bir sürümü belirtebilirsiniz.You can specify one or more of these packages and (optionally) a version when you create a pool or task.

  • Havuz uygulama paketleri havuzdaki her düğüme dağıtılır.Pool application packages are deployed to every node in the pool. Uygulamalar, bir düğüm bir havuza katıldığında ve yeniden başlatıldığında veya yeniden görüntülendiğinde dağıtılır.Applications are deployed when a node joins a pool, and when it is rebooted or reimaged.

    Havuz uygulama paketleri, bir havuzdaki tüm düğümler bir işin görevlerini yürütür.Pool application packages are appropriate when all nodes in a pool execute a job's tasks. Bir havuz oluşturduğunuzda bir veya daha fazla uygulama paketi belirtebilir ve var olan bir havuzun paketlerini ekleyebilir veya güncelleştirebilirsiniz.You can specify one or more application packages when you create a pool, and you can add or update an existing pool's packages. Mevcut bir havuzun uygulama paketlerini güncelleştirirseniz, yeni paketi yüklemek için düğümlerini yeniden başlatmanız gerekir.If you update an existing pool's application packages, you must restart its nodes to install the new package.

  • Görev uygulama paketleri , görevin komut satırı çalıştırılmadan hemen önce yalnızca bir görevi çalıştırmak üzere zamanlanan bir işlem düğümüne dağıtılır.Task application packages are deployed only to a compute node scheduled to run a task, just before running the task's command line. Belirtilen uygulama paketi ve sürümü zaten düğümde ise, yeniden dağıtılmadı ve mevcut paket kullanılır.If the specified application package and version is already on the node, it is not redeployed and the existing package is used.

    Görev uygulama paketleri, farklı işlerin tek bir havuzda çalıştırıldığı ve bir iş tamamlandığında havuzun silinmediği paylaşılan havuz ortamlarında yararlıdır.Task application packages are useful in shared-pool environments, where different jobs are run on one pool, and the pool is not deleted when a job is completed. İşinizin havuzdaki görevleri, düğümlerinden azsa uygulamanız yalnızca görevleri çalıştıran düğümlere dağıtıldığı için görev uygulama paketleri veri aktarımını azaltabilir.If your job has fewer tasks than nodes in the pool, task application packages can minimize data transfer since your application is deployed only to the nodes that run tasks.

    Görev uygulama paketlerinden faydalanabilir diğer senaryolar, büyük bir uygulamayı çalıştıran, ancak yalnızca birkaç görevde çalışan işlerdir.Other scenarios that can benefit from task application packages are jobs that run a large application, but for only a few tasks. Örneğin, ön işleme veya birleştirme uygulamasının ağır olduğu bir ön işleme aşaması veya birleştirme görevi, görev uygulama paketlerinin kullanılması yararlı olabilir.For example, a pre-processing stage or a merge task, where the pre-processing or merge application is heavyweight, may benefit from using task application packages.

Önemli

Bir Batch hesabı içindeki uygulama ve uygulama paketlerinin sayısı ve en fazla uygulama paketi boyutu için kısıtlamalar vardır.There are restrictions on the number of applications and application packages within a Batch account and on the maximum application package size. Bu limitlerin ayrıntıları için Azure Batch hizmetine yönelik kotalar ve sınırlar bölümüne bakın.See Quotas and limits for the Azure Batch service for details about these limits.

Uygulama paketlerinin avantajlarıBenefits of application packages

Uygulama paketleri, Batch çözümünüzdeki kodu basitleştirebilir ve görevlerinizin çalıştırdığı uygulamaları yönetmek için gereken ek yükü düşürebilirler.Application packages can simplify the code in your Batch solution and lower the overhead required to manage the applications that your tasks run.

Uygulama paketleriyle, havuzunuzun başlangıç görevinin düğümlere yüklenecek tek kaynak dosyalarının uzun bir listesini belirtmek zorunda değildir.With application packages, your pool's start task doesn't have to specify a long list of individual resource files to install on the nodes. Azure depolama 'da veya düğümlerdeki uygulama dosyalarınızın birden çok sürümünü el ile yönetmeniz gerekmez.You don't have to manually manage multiple versions of your application files in Azure Storage, or on your nodes. Ve Depolama hesabınızdaki dosyalara erişim sağlamak için SAS URL 'leri oluşturma konusunda endişelenmeniz gerekmez.And, you don't need to worry about generating SAS URLs to provide access to the files in your Storage account. Batch, uygulama paketlerini depolamak ve bunları işlem düğümlerine dağıtmak için Azure depolama ile arka planda çalışmaktadır.Batch works in the background with Azure Storage to store application packages and deploy them to compute nodes.

Not

Bir başlangıç görevinin toplam boyutunun kaynak dosyaları ve ortam değişkenleri dahil olmak üzere 32.768 karakter veya daha az olması gerekir.The total size of a start task must be less than or equal to 32768 characters, including resource files and environment variables. Başlangıç göreviniz bu sınırı aşarsa, uygulama paketlerinin kullanılması başka bir seçenektir.If your start task exceeds this limit, then using application packages is another option. Ayrıca, kaynak dosyalarınızı içeren daraltılmış bir arşiv oluşturabilir, Azure depolama 'ya blob olarak yükleyebilir ve sonra başlangıç görevinin komut satırından bu dosyayı indirebilirsiniz.You can also create a zipped archive containing your resource files, upload it as a blob to Azure Storage, and then unzip it from the command line of your start task.

Uygulamaları karşıya yükleme ve yönetmeUpload and manage applications

Batch hesabınızdaki uygulama paketlerini yönetmek için Azure Portal veya Batch yönetimi API 'lerini kullanabilirsiniz.You can use the Azure portal or the Batch Management APIs to manage the application packages in your Batch account. Sonraki birkaç bölümde, önce bir depolama hesabını bağlamayı, ardından uygulama ve paket ekleme ve bunları portalla yönetme hakkında tartışın.In the next few sections, we first show how to link a Storage account, then discuss adding applications and packages and managing them with the portal.

Uygulama paketlerini kullanmak için önce Batch hesabınıza bir Azure depolama hesabı bağlamanız gerekir.To use application packages, you must first link an Azure Storage account to your Batch account. Henüz bir depolama hesabı yapılandırmadıysanız, Batch hesabınızdaki uygulamalar ilk kez tıkladığınızda Azure Portal bir uyarı görüntüler.If you have not yet configured a Storage account, the Azure portal displays a warning the first time you click Applications in your Batch account.

Azure portal 'de ' depolama hesabı Yapılandırılmadı ' uyarısı'No storage account configured' warning in Azure portal

Batch hizmeti, uygulama paketlerinizi depolamak için ilişkili depolama hesabını kullanır.The Batch service uses the associated Storage account to store your application packages. İki hesabı bağladıktan sonra toplu Işlem, bağlantılı depolama hesabında depolanan paketleri işlem düğümlerine otomatik olarak dağıtabilir.After you've linked the two accounts, Batch can automatically deploy the packages stored in the linked Storage account to your compute nodes. Bir depolama hesabını Batch hesabınıza bağlamak için, Uyarı penceresinde depolama hesabı ' na tıklayın ve ardından depolama hesabı ' na tıklayın.To link a Storage account to your Batch account, click Storage account on the Warning window, and then click Storage Account again.

Azure portal depolama hesabı dikey penceresini seçinChoose storage account blade in Azure portal

Özel olarak Batch hesabınızla birlikte kullanmak Için bir depolama hesabı oluşturmanızı ve burada seçmeniz önerilir.We recommend that you create a Storage account specifically for use with your Batch account, and select it here. Bir depolama hesabı oluşturduktan sonra depolama hesabı penceresini kullanarak bunu Batch hesabınıza bağlayabilirsiniz.After you've created a Storage account, you can then link it to your Batch account by using the Storage Account window.

Not

Şu anda uygulama paketlerini güvenlik duvarı kurallarıylayapılandırılmış bir Azure depolama hesabıyla kullanamazsınız.Currently you can't use application packages with an Azure Storage account that is configured with firewall rules.

Batch hizmeti, uygulama paketlerinizi blok blob 'ları olarak depolamak için Azure Storage 'ı kullanır.The Batch service uses Azure Storage to store your application packages as block blobs. Blok Blobu verileri için normal olarak ücretlendirilirsiniz ve her bir paketin boyutu, Blok Blobu boyutunun üst sınırını aşamaz.You are charged as normal for the block blob data, and the size of each package can't exceed the maximum block blob size. Daha fazla bilgi için bkz. depolama hesapları Için Azure Storage ölçeklenebilirlik ve performans hedefleri.For more information, see Azure Storage scalability and performance targets for storage accounts. Uygulama paketlerinizin boyutunu ve sayısını göz önünde bulundurmanız ve maliyetleri en aza indirmek için kullanım dışı bırakılan paketleri düzenli olarak kaldırmayı unutmayın.Be sure to consider the size and number of your application packages, and periodically remove deprecated packages to minimize costs.

Geçerli uygulamaları görüntüleView current applications

Batch hesabınızdaki uygulamaları görüntülemek için, Batch hesabınızıgörüntülerken sol menüdeki uygulamalar menü öğesine tıklayın.To view the applications in your Batch account, click the Applications menu item in the left menu while viewing your Batch account.

Uygulamalar bölmesiApplications tile

Bu menü seçeneği belirlendiğinde uygulamalar penceresi açılır:Selecting this menu option opens the Applications window:

Uygulamaları listelemeList applications

Bu pencere, hesabınızdaki her uygulamanın KIMLIĞINI ve aşağıdaki özellikleri görüntüler:This window displays the ID of each application in your account and the following properties:

  • Paketler: Bu uygulamayla ilişkili sürümlerin sayısı.Packages: The number of versions associated with this application.
  • Varsayılan sürüm: bir havuz için uygulama belirttiğinizde bir sürüm belirtmezseniz, uygulamanın sürümü yüklenir.Default version: The application version installed if you do not indicate a version when you specify the application for a pool. Bu ayar isteğe bağlıdır.This setting is optional.
  • Güncelleştirmelere Izin ver: paket güncelleştirme, silme ve eklemelere izin verilip verilmeyeceğini belirten değer.Allow updates: The value that specifies whether package updates, deletions, and additions are allowed. Hayırolarak ayarlanırsa, uygulama için paket güncelleştirmeleri ve silmeleri devre dışı bırakılır.If this is set to No, package updates and deletions are disabled for the application. Yalnızca yeni uygulama paketi sürümleri eklenebilir.Only new application package versions can be added. Varsayılan değer Evet’tir.The default is Yes.

İşlem düğümünüz üzerinde uygulama paketinin dosya yapısını görmek isterseniz, portalda Batch hesabınıza gidin.If you'd like to see the file structure of the application package on your compute node, navigate to your Batch account in the portal. Batch hesabınızdan havuzlar' a gidin.From your Batch account, navigate to Pools. İlgilendiğiniz işlem düğümlerini içeren havuzu seçin.Select the pool that contains the compute node(s) you're interested in.

Havuzdaki düğümlerNodes in pool

Havuzunuzu seçtikten sonra, uygulama paketinin yüklü olduğu işlem düğümüne gidin.Once you've selected your pool, navigate to the compute node that the application package is installed on. Buradan, uygulama paketinin ayrıntıları uygulamalar klasöründe bulunur.From there, the details of the application package are located in the applications folder. İşlem düğümündeki ek klasörler, başlangıç görevleri, çıkış dosyaları, hata çıktısı vb. gibi diğer dosyaları içerir.Additional folders on the compute node contain other files, such as start tasks, output files, error output, etc.

Düğümdeki dosyalarFiles on node

Uygulama ayrıntılarını görüntüleView application details

Bir uygulamanın ayrıntılarını görmek için uygulamalar penceresinde uygulamayı seçin.To see the details for an application, select the application in the Applications window.

Uygulama ayrıntılarıApplication details

Uygulama ayrıntılarında, uygulamanız için aşağıdaki ayarları yapılandırabilirsiniz.In the application details, you can configure the following settings for your application.

  • Güncelleştirmelere Izin ver: uygulama paketlerinin güncelleştirilip güncelleştirilmediğini veya silinemeyeceğini belirtin.Allow updates: Specify whether its application packages can be updated or deleted. Bu makalenin devamındaki "uygulama paketini güncelleştirme veya silme" bölümüne bakın.See "Update or Delete an application package" later in this article.
  • Varsayılan sürüm: işlem düğümlerine dağıtılacak bir varsayılan uygulama paketi belirtin.Default version: Specify a default application package to deploy to compute nodes.
  • Görünen ad: Batch çözümünüzün uygulamayla ilgili bilgileri (örneğin, toplu iş aracılığıyla müşterilerinize sağladığınız bir hizmetin Kullanıcı arabiriminde) görüntülediği kolay bir ad belirtin.Display name: Specify a friendly name that your Batch solution can use when it displays information about the application, for example, in the UI of a service that you provide to your customers through Batch.

Yeni uygulama ekleAdd a new application

Yeni bir uygulama oluşturmak için bir uygulama paketi ekleyin ve yeni, benzersiz bir uygulama KIMLIĞI belirtin.To create a new application, add an application package and specify a new, unique application ID. Yeni uygulama KIMLIĞIYLE eklediğiniz ilk uygulama paketi de yeni bir uygulama oluşturur.The first application package that you add with the new application ID also creates the new application.

Uygulamalar > Ekle’ye tıklayın.Click Applications > Add.

Azure portal yeni uygulama dikey penceresiNew application blade in Azure portal

Yeni uygulama penceresi, yeni uygulamanızın ve uygulama paketinizin ayarlarını belirtmek için aşağıdaki alanları sağlar.The New application window provides the following fields to specify the settings of your new application and application package.

Uygulama KimliğiApplication ID

Bu alan, standart Azure Batch KIMLIĞI doğrulama kurallarına tabi olan yeni uygulamanızın KIMLIĞINI belirtir.This field specifies the ID of your new application, which is subject to the standard Azure Batch ID validation rules. Uygulama KIMLIĞI sağlama kuralları aşağıdaki gibidir:The rules for providing an application ID are as follows:

  • Windows düğümlerinde, KIMLIK alfasayısal karakter, kısa çizgi ve alt çizgi birleşimini içerebilir.On Windows nodes, the ID can contain any combination of alphanumeric characters, hyphens, and underscores. Linux düğümlerinde yalnızca alfasayısal karakterlere ve alt çizgilere izin verilir.On Linux nodes, only alphanumeric characters and underscores are permitted.
  • 64 'den fazla karakter içeremez.Cannot contain more than 64 characters.
  • Batch hesabı dahilinde benzersiz olmalıdır.Must be unique within the Batch account.
  • Büyük/küçük harf koruma ve büyük/küçük harfe duyarlı değildir.Is case-preserving and case-insensitive.

SürümVersion

Bu alan, karşıya yüklediğiniz uygulama paketinin sürümünü belirtir.This field specifies the version of the application package you are uploading. Sürüm dizeleri aşağıdaki doğrulama kurallarına tabidir:Version strings are subject to the following validation rules:

  • Windows düğümlerinde, sürüm dizesi alfasayısal karakter, tire, alt çizgi ve dönemlerin herhangi bir birleşimini içerebilir.On Windows nodes, the version string can contain any combination of alphanumeric characters, hyphens, underscores, and periods. Linux düğümlerinde, sürüm dizesinde yalnızca alfasayısal karakterler ve alt çizgiler bulunabilir.On Linux nodes, the version string can contain only alphanumeric characters and underscores.
  • 64 'den fazla karakter içeremez.Cannot contain more than 64 characters.
  • Uygulama içinde benzersiz olmalıdır.Must be unique within the application.
  • Büyük/küçük harf koruma ve büyük/küçük harfe duyarlı değildir.Are case-preserving and case-insensitive.

Uygulama paketiApplication package

Bu alan, uygulama ikililerini ve uygulamayı yürütmek için gereken destekleyici dosyaları içeren. zip dosyasını belirtir.This field specifies the .zip file that contains the application binaries and supporting files that are required to execute the application. Bir dosya seç kutusu veya klasör simgesine tıklayarak uygulamanızın dosyalarını içeren bir. zip dosyasına gidin ve seçin.Click the Select a file box or the folder icon to browse to and select a .zip file that contains your application's files.

Bir dosya seçtikten sonra Tamam ' a tıklayarak Azure Storage 'a yükleme işlemini başlatın.After you've selected a file, click OK to begin the upload to Azure Storage. Karşıya yükleme işlemi tamamlandığında, Portal bir bildirim görüntüler.When the upload operation is complete, the portal displays a notification. Karşıya yüklediğiniz dosyanın boyutuna ve ağ bağlantınızın hızına bağlı olarak bu işlem biraz zaman alabilir.Depending on the size of the file that you are uploading and the speed of your network connection, this operation may take some time.

Uyarı

Karşıya yükleme işlemi tamamlanmadan önce Yeni uygulama penceresini kapatmayın.Do not close the New application window before the upload operation is complete. Bunun yapılması yükleme işlemini sonlandırır.Doing so stops the upload process.

Yeni bir uygulama paketi EkleAdd a new application package

Mevcut bir uygulama için bir uygulama paketi sürümü eklemek için, uygulamalar penceresinde bir uygulama seçin ve ardından Ekle > paketler ' e tıklayın.To add an application package version for an existing application, select an application in the Applications windows, and click Packages > Add.

Azure portal 'de uygulama paketi dikey penceresi eklemeAdd application package blade in Azure portal

Görebileceğiniz gibi, alanlar Yeni uygulama penceresiyle eşleşir, ancak uygulama kimliği kutusu devre dışıdır.As you can see, the fields match those of the New application window, but the Application ID box is disabled. Yeni uygulama için yaptığınız gibi, yeni paketinizin sürümünü belirtin, uygulama paketinizin . zip dosyasına gidin ve ardından Tamam ' a tıklayarak paketi karşıya yükleyin.As you did for the new application, specify the Version for your new package, browse to your Application package .zip file, then click OK to upload the package.

Uygulama paketini güncelleştirme veya silmeUpdate or delete an application package

Var olan bir uygulama paketini güncelleştirmek veya silmek için, uygulamanın ayrıntılarını açın, paketler' e tıklayın, değiştirmek istediğiniz uygulama paketinin satırındaki üç nokta simgesine tıklayın ve gerçekleştirmek istediğiniz eylemi seçin.To update or delete an existing application package, open the details for the application, click Packages, click the ellipsis in the row of the application package that you want to modify, and select the action that you want to perform.

Azure portal paketi güncelleştirme veya silmeUpdate or delete package in Azure portal

GüncelleştirmeUpdate

Güncelleştir' e tıkladığınızda, güncelleştirme paketi penceresi görüntülenir.When you click Update, the Update package windows is displayed. Bu pencere, Yeni uygulama paketi penceresine benzer ancak yalnızca paket seçimi alanı etkinleştirilir ve karşıya yüklenecek yenı bir ZIP dosyası belirtmenize olanak tanır.This window is similar to the New application package window, however only the package selection field is enabled, allowing you to specify a new ZIP file to upload.

Azure portal paket dikey penceresini güncelleştirmeUpdate package blade in Azure portal

SilmeDelete

Sil' e tıkladığınızda paket sürümünün silinmesini onaylamanız Istenir ve Batch, paketi Azure Storage 'dan siler.When you click Delete, you are asked to confirm the deletion of the package version, and Batch deletes the package from Azure Storage. Bir uygulamanın varsayılan sürümünü silerseniz, varsayılan sürüm ayarı uygulama için kaldırılır.If you delete the default version of an application, the Default version setting is removed for the application.

Uygulamayı SilDelete application

İşlem düğümlerine uygulama yüklerInstall applications on compute nodes

Uygulama paketlerini Azure portal ile yönetmeyi öğrendiğinize göre, bunları işlem düğümlerine dağıtmayı ve Batch görevleriyle çalıştırmayı tartışabiliriz.Now that you've learned how to manage application packages with the Azure portal, we can discuss how to deploy them to compute nodes and run them with Batch tasks.

Havuz uygulama paketlerini yüklerInstall pool application packages

Bir havuzdaki tüm işlem düğümlerine bir uygulama paketi yüklemek için havuz için bir veya daha fazla uygulama paketi başvurusu belirtin.To install an application package on all compute nodes in a pool, specify one or more application package references for the pool. Bir havuz için belirttiğiniz uygulama paketleri, düğüm havuza katıldığında ve düğüm yeniden başlatıldığında veya yeniden görüntülendiğinde her bir işlem düğümüne yüklenir.The application packages that you specify for a pool are installed on each compute node when that node joins the pool, and when the node is rebooted or reimaged.

Batch .NET sürümünde bir veya daha fazla Cloudpoolbelirtin. Yeni bir havuz oluşturduğunuzda veya mevcut bir havuz için Applicationpackagereferferde .In Batch .NET, specify one or more CloudPool.ApplicationPackageReferences when you create a new pool, or for an existing pool. Applicationpackagereference sınıfı, bir havuzun işlem düğümlerine yüklenecek BIR uygulama kimliği ve sürümünü belirtir.The ApplicationPackageReference class specifies an application ID and version to install on a pool's compute nodes.

// Create the unbound CloudPool
CloudPool myCloudPool =
    batchClient.PoolOperations.CreatePool(
        poolId: "myPool",
        targetDedicatedComputeNodes: 1,
        virtualMachineSize: "standard_d1_v2",
        cloudServiceConfiguration: new CloudServiceConfiguration(osFamily: "5"));

// Specify the application and version to install on the compute nodes
myCloudPool.ApplicationPackageReferences = new List<ApplicationPackageReference>
{
    new ApplicationPackageReference {
        ApplicationId = "litware",
        Version = "1.1001.2b" }
};

// Commit the pool so that it's created in the Batch service. As the nodes join
// the pool, the specified application package is installed on each.
await myCloudPool.CommitAsync();

Önemli

Bir uygulama paketi dağıtımı herhangi bir nedenle başarısız olursa, Batch Hizmeti düğümü kullanılamazolarak işaretler ve bu düğümde yürütülmek üzere hiçbir görev planlanmaz.If an application package deployment fails for any reason, the Batch service marks the node unusable, and no tasks are scheduled for execution on that node. Bu durumda, paket dağıtımını yeniden başlatmak için düğümü yeniden başlatmanız gerekir.In this case, you should restart the node to reinitiate the package deployment. Düğüm yeniden başlatıldığında, düğüm üzerinde görev zamanlamayı yeniden de etkinleştirilir.Restarting the node also enables task scheduling again on the node.

Görev uygulama paketlerini yüklerInstall task application packages

Bir havuza benzer şekilde, bir görev için uygulama paketi başvurularını belirtirsiniz.Similar to a pool, you specify application package references for a task. Bir görev bir düğümde çalışmak üzere zamanlandığında, bu paket, görevin komut satırı yürütülmeden hemen önce indirilir ve ayıklanır.When a task is scheduled to run on a node, the package is downloaded and extracted just before the task's command line is executed. Belirtilen bir paket ve sürüm düğümde zaten yüklüyse, paket indirilmez ve mevcut paket kullanılır.If a specified package and version is already installed on the node, the package is not downloaded and the existing package is used.

Bir görev uygulama paketini yüklemek için görevin Cloudtasköğesini yapılandırın. Applicationpackagereferenceözelliği :To install a task application package, configure the task's CloudTask.ApplicationPackageReferences property:

CloudTask task =
    new CloudTask(
        "litwaretask001",
        "cmd /c %AZ_BATCH_APP_PACKAGE_LITWARE%\\litware.exe -args -here");

task.ApplicationPackageReferences = new List<ApplicationPackageReference>
{
    new ApplicationPackageReference
    {
        ApplicationId = "litware",
        Version = "1.1001.2b"
    }
};

Yüklü uygulamaları yürütmeExecute the installed applications

Bir havuz veya görev için belirttiğiniz paketler, düğümün AZ_BATCH_ROOT_DIR bir adlandırılmış dizine indirilir ve ayıklanır.The packages that you've specified for a pool or task are downloaded and extracted to a named directory within the AZ_BATCH_ROOT_DIR of the node. Batch Ayrıca, adlandırılmış dizinin yolunu içeren bir ortam değişkeni oluşturur.Batch also creates an environment variable that contains the path to the named directory. Görev komut satırlarında, düğümdeki uygulamaya başvururken bu ortam değişkeni kullanılır.Your task command lines use this environment variable when referencing the application on the node.

Windows düğümlerinde, değişkeni aşağıdaki biçimdedir:On Windows nodes, the variable is in the following format:

Windows:
AZ_BATCH_APP_PACKAGE_APPLICATIONID#version

Linux düğümlerinde biçim biraz farklıdır.On Linux nodes, the format is slightly different. Nokta (.), tire (-) ve sayı işaretleri (#), ortam değişkeninde alt çizgi olarak düzleştirilir.Periods (.), hyphens (-) and number signs (#) are flattened to underscores in the environment variable. Ayrıca, uygulama KIMLIĞI durumunun korunmadığını unutmayın.Also, note that the case of the application ID is preserved. Örneğin:For example:

Linux:
AZ_BATCH_APP_PACKAGE_applicationid_version

APPLICATIONID ve version, dağıtım için belirttiğiniz uygulama ve paket sürümüne karşılık gelen değerlerdir.APPLICATIONID and version are values that correspond to the application and package version you've specified for deployment. Örneğin, blender uygulamasının 2,7 sürümünün Windows düğümlerinde yüklü olması gerektiğini belirttiyseniz, görev komut satırları bu ortam değişkenini, dosyalarına erişmek için kullanır:For example, if you specified that version 2.7 of application blender should be installed on Windows nodes, your task command lines would use this environment variable to access its files:

Windows:
AZ_BATCH_APP_PACKAGE_BLENDER#2.7

Linux düğümlerinde, ortam değişkenini bu biçimde belirtin.On Linux nodes, specify the environment variable in this format. Noktaları (.), kısa çizgiler (-) ve sayı işaretlerini (#) düzleştirin ve uygulama KIMLIĞI durumunu koruyun:Flatten the periods (.), hyphens (-) and number signs (#) to underscores, and preserve the case of the application ID:

Linux:
AZ_BATCH_APP_PACKAGE_blender_2_7

Bir uygulama paketini karşıya yüklediğinizde, işlem düğümleriniz için dağıtım yapmak üzere varsayılan bir sürüm belirtebilirsiniz.When you upload an application package, you can specify a default version to deploy to your compute nodes. Bir uygulama için varsayılan bir sürüm belirttiyseniz, uygulamaya başvuru yaptığınızda sürüm sonekini atlayabilirsiniz.If you have specified a default version for an application, you can omit the version suffix when you reference the application. Uygulamalar penceresinde, uygulamaları karşıya yükleme ve yönetmebölümünde gösterildiği gibi, varsayılan uygulama sürümünü Azure Portal belirleyebilirsiniz.You can specify the default application version in the Azure portal, in the Applications window, as shown in Upload and manage applications.

Örneğin, uygulama blenderiçin varsayılan sürüm olarak "2,7" ayarlarsanız ve görevleriniz aşağıdaki ortam değişkenine Başvurdıysanız, Windows düğümleriniz 2,7 sürümünü yürütür:For example, if you set "2.7" as the default version for application blender, and your tasks reference the following environment variable, then your Windows nodes will execute version 2.7:

AZ_BATCH_APP_PACKAGE_BLENDER

Aşağıdaki kod parçacığında, blender uygulamasının varsayılan sürümünü başlatan örnek bir görev komut satırı gösterilmektedir:The following code snippet shows an example task command line that launches the default version of the blender application:

string taskId = "blendertask01";
string commandLine =
    @"cmd /c %AZ_BATCH_APP_PACKAGE_BLENDER%\blender.exe -args -here";
CloudTask blenderTask = new CloudTask(taskId, commandLine);

İpucu

İşlem düğümü ortam ayarları hakkında daha fazla bilgi için bkz. Batch özelliğine genel bakış içindeki Görevler için ortam ayarları .See Environment settings for tasks in the Batch feature overview for more information about compute node environment settings.

Bir havuzun uygulama paketlerini güncelleştirmeUpdate a pool's application packages

Mevcut bir havuz zaten bir uygulama paketiyle yapılandırıldıysa, havuz için yeni bir paket belirtebilirsiniz.If an existing pool has already been configured with an application package, you can specify a new package for the pool. Bir havuz için yeni bir paket başvurusu belirtirseniz aşağıdakiler geçerlidir:If you specify a new package reference for a pool, the following apply:

  • Batch hizmeti, yeni belirtilen paketi havuza ve yeniden başlatılan veya yeniden görüntü oluşturulan tüm mevcut düğümlerde birleştirir.The Batch service installs the newly specified package on all new nodes that join the pool and on any existing node that is rebooted or reimaged.
  • Paket başvurularını güncelleştirdiğinizde zaten havuzda olan işlem düğümleri yeni uygulama paketini otomatik olarak yüklemez.Compute nodes that are already in the pool when you update the package references do not automatically install the new application package. Yeni paketi almak için bu işlem düğümlerinin yeniden başlatılması veya yeniden oluşturulması gerekir.These compute nodes must be rebooted or reimaged to receive the new package.
  • Yeni bir paket dağıtıldığında oluşturulan ortam değişkenleri yeni uygulama paketi başvurularını yansıtır.When a new package is deployed, the created environment variables reflect the new application package references.

Bu örnekte, mevcut havuzda Cloudpool'un biri olarak yapılandırılmış blender uygulamasının 2,7 sürümü vardır. Applicationpackagereferinin.In this example, the existing pool has version 2.7 of the blender application configured as one of its CloudPool.ApplicationPackageReferences. Havuzun düğümlerini 2.76 b sürümüyle güncelleştirmek için yeni sürümle yeni bir Applicationpackagereference belirtip değişikliği işleyin.To update the pool's nodes with version 2.76b, specify a new ApplicationPackageReference with the new version, and commit the change.

string newVersion = "2.76b";
CloudPool boundPool = await batchClient.PoolOperations.GetPoolAsync("myPool");
boundPool.ApplicationPackageReferences = new List<ApplicationPackageReference>
{
    new ApplicationPackageReference {
        ApplicationId = "blender",
        Version = newVersion }
};
await boundPool.CommitAsync();

Yeni sürüm yapılandırıldıktan sonra Batch hizmeti, 2.76 b sürümünü havuza katılan Yeni bir düğüme yüklemiştir.Now that the new version has been configured, the Batch service installs version 2.76b to any new node that joins the pool. 2.76 b 'yi zaten havuzda olan düğümlere yüklemek için yeniden başlatın veya yeniden başlatın.To install 2.76b on the nodes that are already in the pool, reboot or reimage them. Yeniden başlatılan düğümlerin dosyaları önceki paket dağıtımlarından korumadığını unutmayın.Note that rebooted nodes retain the files from previous package deployments.

Bir Batch hesabındaki uygulamaları listeleyinList the applications in a Batch account

Uygulamaları ve bunların paketlerini, Applicationoperations' i kullanarak bir Batch hesabında listeleyebilirsiniz. Listapplicationözetler yöntemi.You can list the applications and their packages in a Batch account by using the ApplicationOperations.ListApplicationSummaries method.

// List the applications and their application packages in the Batch account.
List<ApplicationSummary> applications = await batchClient.ApplicationOperations.ListApplicationSummaries().ToListAsync();
foreach (ApplicationSummary app in applications)
{
    Console.WriteLine("ID: {0} | Display Name: {1}", app.Id, app.DisplayName);

    foreach (string version in app.Versions)
    {
        Console.WriteLine("  {0}", version);
    }
}

Yukarı kaydırınWrap up

Uygulama paketleriyle, müşterilerinizin işlerinin uygulamalarını seçmesini ve Batch özellikli hizmetlerinizle işleri işlerken kullanılacak tam sürümü belirtmesini sağlayabilirsiniz.With application packages, you can help your customers select the applications for their jobs and specify the exact version to use when processing jobs with your Batch-enabled service. Müşterilerinizin hizmetinize kendi uygulamalarını yükleme ve izleme özelliği de sağlayabilirsiniz.You might also provide the ability for your customers to upload and track their own applications in your service.

Sonraki adımlarNext steps