Библиотеки пакетной службы Azure для .NETAzure Batch libraries for .NET

Пакетная служба Azure — это служба платформы, которая позволяет эффективно работать с приложениями для крупномасштабных параллельных и высокопроизводительных вычислений (HPC) в облаке.Azure Batch is a platform service for running large-scale parallel and high-performance computing (HPC) applications efficiently in the cloud. Пакетная служба Azure планирует запуск ресурсоемких вычислительных задач в управляемой коллекции виртуальных машин и автоматически масштабирует вычислительные ресурсы, учитывая требования заданий.Azure Batch schedules compute-intensive work to run on a managed collection of virtual machines, and can automatically scale compute resources to meet the needs of your jobs.

С помощью пакетной службы Azure вы можете легко определять вычислительные ресурсы Azure, необходимые для параллельного выполнения приложений в нужном масштабе.With Azure Batch, you can easily define Azure compute resources to execute your applications in parallel, and at scale. Вам не нужно вручную создавать и настраивать кластер высокопроизводительных вычислений (HPC), отдельные виртуальные машины, виртуальные сети или сложную инфраструктуру планировщика задач и заданий, а также управлять всеми этими ресурсами.There's no need to manually create, configure, and manage an HPC cluster, individual virtual machines, virtual networks, or a complex job and task scheduling infrastructure. Пакетная служба Azure автоматизирует или упрощает выполнение этих задач.Azure Batch automates or simplifies these tasks for you.

Узнайте больше о том, как выполнять реальные параллельные рабочие нагрузки с использованием пакетной службы.Read more about how to run intrinsically parallel workloads with Batch. Также ознакомьтесь со статьей Приступая к созданию решений с помощью клиентской библиотеки пакетной службы для .NET.You can also learn how to get started building solutions with the Batch client library for .NET. Узнайте, как управлять учетными записями и квотами пакетной службы с помощью клиентской библиотеки .NET для управления пакетной службой.Discover how to manage Batch accounts and quotas with the Batch Management library for .NET.

Клиентская библиотекаClient library

Используйте клиентскую библиотеку для выполнения параллельных рабочих нагрузок с использованием пакетной службы.Use the client library to run parallel workloads with Batch.

Установите пакет NuGet непосредственно из консоли диспетчера пакетов Visual Studio или с помощью .NET Core CLI.Install the NuGet package directly from the Visual Studio Package Manager console or with the .NET Core CLI.

Диспетчер пакетов Visual StudioVisual Studio Package Manager

Install-Package Azure.Batch

.NET Core CLI.NET Core CLI

dotnet add package Azure.Batch

ПримерExample

В примере ниже клиентский пакет SDK используется для создания задания, выполняющегося в пакетной службе Azure.The following example uses the client SDK to create a job to run in Azure Batch.

/*
using Microsoft.Azure.Batch.Auth;
using Microsoft.Azure.Batch;
*/
BatchSharedKeyCredentials credentials = new BatchSharedKeyCredentials(batchUrl, accountName, accountKey);
using (BatchClient batchClient = await BatchClient.OpenAsync(credentials))
{
    //set up pool specification and information along with resource files here
    JobManagerTask jobManagerTask = new JobManagerTask()
    {
        ResourceFiles = jobManagerResourceFiles,
        CommandLine = Constants.JobManagerExecutable,

        //Determines if the job should terminate when the job manager process exits.
        KillJobOnCompletion = true,
        Id = jobManagerTaskId
    };

    string jobId = Environment.GetEnvironmentVariable("USERNAME") + DateTime.UtcNow.ToString("yyyyMMdd-HHmmss");

    CloudJob unboundJob = batchClient.JobOperations.CreateJob(jobId, poolInformation);
    unboundJob.JobManagerTask = jobManagerTask;

    // now interact with the job ...
}

Библиотека управленияManagement library

С помощью этих библиотек управления можно программно управлять учетными записями пакетной службы, квотами и пакетами приложений.Use the management library to programmatically manage Batch accounts, quotas, and application packages.

Установите пакет NuGet непосредственно из консоли диспетчера пакетов Visual Studio или с помощью .NET Core CLI.Install the NuGet package directly from the Visual Studio Package Manager console or with the .NET Core CLI.

Диспетчер пакетов Visual StudioVisual Studio Package Manager

Install-Package Microsoft.Azure.Management.Batch

.NET Core CLI.NET Core CLI

dotnet add package Microsoft.Azure.Management.Batch

ПримерExample

В примере ниже извлекается квота для подписки, создается учетная запись и повторно создается первичный ключ учетной записи.The following example retrieves the quota for the subscription, creates an account, and regenerates the primary account key.

/*
using Microsoft.Azure.Management.Batch;
using Microsoft.Azure.Management.Batch.Models;
using Microsoft.Rest;
*/
using (BatchManagementClient batchManagementClient = new BatchManagementClient(new TokenCredentials(accessToken)))
{
    batchManagementClient.SubscriptionId = subscriptionId;

    // Get the account quota for the subscription
    BatchLocationQuota quotaResponse = await batchManagementClient.Location.GetQuotasAsync(location);
    Console.WriteLine("Your subscription can create {0} account(s) in the {1} region.", quotaResponse.AccountQuota, location);

    // Create account
    await batchManagementClient.BatchAccount.CreateAsync(ResourceGroupName, accountName, 
        new BatchAccountCreateParameters() { Location = location });

    // Regenerate primary account key
    BatchAccountKeys newKeys = await batchManagementClient.BatchAccount.RegenerateKeyAsync(
        ResourceGroupName, account.Name, AccountKeyType.Primary);
}

ПримерыSamples

Ознакомьтесь с другими примерами кода .NET, которые можно использовать в приложениях.Explore more sample .NET code you can use in your apps.