Gérer les quotas et comptes Batch avec la bibliothèque cliente Batch Management pour .NETManage Batch accounts and quotas with the Batch Management client library for .NET

Vous pouvez réduire la surcharge de maintenance dans vos applications Azure Batch avec la bibliothèque Batch Management .NET en automatisant la création et la suppression de comptes Batch, la gestion des clés et la détection des quotas.You can lower maintenance overhead in your Azure Batch applications by using the Batch Management .NET library to automate Batch account creation, deletion, key management, and quota discovery.

  • Créez et supprimez des comptes Batch dans n'importe quelle région.Create and delete Batch accounts within any region. Si, par exemple, en tant qu'éditeur de logiciels indépendant (ISV) vous fournissez un service à vos clients dans lequel un compte Batch distinct est affecté à chacun à des fins de facturation, vous pouvez ajouter des fonctionnalités de création et de suppression de comptes à votre portail client.If, as an independent software vendor (ISV) for example, you provide a service for your clients in which each is assigned a separate Batch account for billing purposes, you can add account creation and deletion capabilities to your customer portal.
  • Récupérez et régénérez des clés de compte par programme pour tous vos comptes Batch.Retrieve and regenerate account keys programmatically for any of your Batch accounts. Cela est pratique pour maintenir la conformité aux stratégies de sécurité appliquant une substitution ou une expiration périodique des clés de compte.This can help you comply with security policies that enforce periodic rollover or expiry of account keys. Lorsque vous avez plusieurs comptes Batch dans différentes régions Azure, l’automatisation de ce processus de substitution augmente l’efficacité de votre solution.When you have several Batch accounts in various Azure regions, automation of this rollover process increases your solution's efficiency.
  • Vérifiez les quotas des comptes et déterminez quels comptes Batch possèdent quelles limites sans avoir à tâtonner.Check account quotas and take the trial-and-error guesswork out of determining which Batch accounts have what limits. En vérifiant les quotas de vos comptes avant de commencer les travaux, de créer des pools ou d’ajouter des nœuds de calcul, vous pouvez ajuster de façon proactive l’endroit et le moment où ces ressources de calcul sont créées.By checking your account quotas before starting jobs, creating pools, or adding compute nodes, you can proactively adjust where or when these compute resources are created. Vous pouvez déterminer quels comptes requièrent des augmentations de quota avant d’allouer des ressources supplémentaires à ces comptes.You can determine which accounts require quota increases before allocating additional resources in those accounts.
  • Combinez les fonctionnalités d’autres services Azure pour une expérience de gestion complète en utilisant conjointement Batch Management .NET, Azure Active Directory et Azure Resource Manager dans la même application.Combine features of other Azure services for a full-featured management experience--by using Batch Management .NET, Azure Active Directory, and the Azure Resource Manager together in the same application. En utilisant ces fonctionnalités et leurs API, vous pouvez fournir une expérience d’authentification transparente, une fonction de création et de suppression des groupes de ressources ainsi que les fonctionnalités décrites ci-dessus, pour une solution de gestion de bout en bout.By using these features and their APIs, you can provide a frictionless authentication experience, the ability to create and delete resource groups, and the capabilities that are described above for an end-to-end management solution.

Nota

Si cet article se concentre sur la gestion par programme de vos comptes, clés et quotas Batch, vous pouvez effectuer la plupart de ces activités avec le Portail Azure.While this article focuses on the programmatic management of your Batch accounts, keys, and quotas, you can perform many of these activities by using the Azure portal. Pour plus d’informations, consultez Création d’un compte Azure Batch à l’aide du portail Azure et Quotas et limites pour le service Azure Batch.For more information, see Create an Azure Batch account using the Azure portal and Quotas and limits for the Azure Batch service.

Créez et supprimez des comptes BatchCreate and delete Batch accounts

Comme mentionné ci-dessus, l’une des principales fonctionnalités de l’API Batch Management consiste à créer et à supprimer des comptes Batch dans une région Azure.As mentioned, one of the primary features of the Batch Management API is to create and delete Batch accounts in an Azure region. Pour ce faire, utilisez BatchManagementClient.Account.CreateAsync et DeleteAsync, ou leurs équivalents synchrones.To do so, use BatchManagementClient.Account.CreateAsync and DeleteAsync, or their synchronous counterparts.

L’extrait de code suivant crée un compte, récupère le compte créé à partir du service Batch, puis le supprime.The following code snippet creates an account, obtains the newly created account from the Batch service, and then deletes it. Dans cet extrait de code et les autres extraits de cet article, batchManagementClient est une instance entièrement initialisée de BatchManagementClient.In this snippet and the others in this article, batchManagementClient is a fully initialized instance of BatchManagementClient.

// Create a new Batch account
await batchManagementClient.Account.CreateAsync("MyResourceGroup",
    "mynewaccount",
    new BatchAccountCreateParameters() { Location = "West US" });

// Get the new account from the Batch service
AccountResource account = await batchManagementClient.Account.GetAsync(
    "MyResourceGroup",
    "mynewaccount");

// Delete the account
await batchManagementClient.Account.DeleteAsync("MyResourceGroup", account.Name);

Nota

Les applications qui utilisent la bibliothèque Batch Management .NET et sa classe BatchManagementClient nécessitent un accès administrateur de services fédérés ou coadministrateur à l’abonnement qui possède le compte Batch à gérer.Applications that use the Batch Management .NET library and its BatchManagementClient class require service administrator or coadministrator access to the subscription that owns the Batch account to be managed. Pour plus d’informations, consultez la section Azure Active Directory et l’exemple de code AccountManagement.For more information, see the Azure Active Directory section and the AccountManagement code sample.

Récupérez et régénérez des clés de compteRetrieve and regenerate account keys

Récupérez les clés primaires et secondaires de n’importe quel compte Batch de votre abonnement avec ListKeysAsync.Obtain primary and secondary account keys from any Batch account within your subscription by using ListKeysAsync. Vous pouvez régénérer ces clés à l’aide de RegenerateKeyAsync.You can regenerate those keys by using RegenerateKeyAsync.

// Get and print the primary and secondary keys
BatchAccountListKeyResult accountKeys =
    await batchManagementClient.Account.ListKeysAsync(
        "MyResourceGroup",
        "mybatchaccount");
Console.WriteLine("Primary key:   {0}", accountKeys.Primary);
Console.WriteLine("Secondary key: {0}", accountKeys.Secondary);

// Regenerate the primary key
BatchAccountRegenerateKeyResponse newKeys =
    await batchManagementClient.Account.RegenerateKeyAsync(
        "MyResourceGroup",
        "mybatchaccount",
        new BatchAccountRegenerateKeyParameters() {
            KeyName = AccountKeyType.Primary
            });

Sugerencia

Vous pouvez créer un flux de travail de connexion rationalisé pour vos applications de gestion.You can create a streamlined connection workflow for your management applications. Commencez par récupérer une clé du compte Batch que vous souhaitez gérer avec ListKeysAsync.First, obtain an account key for the Batch account you wish to manage with ListKeysAsync. Utilisez ensuite cette clé lors de l’initialisation de la classe BatchSharedKeyCredentials de la bibliothèque Batch .NET, qui est utilisée lors de l’initialisation de BatchClient.Then, use this key when initializing the Batch .NET library's BatchSharedKeyCredentials class, which is used when initializing BatchClient.

Vérifier les quotas d'un abonnement Azure et d'un compte BatchCheck Azure subscription and Batch account quotas

Les abonnements Azure et les services Azure, comme Batch, ont tous des quotas par défaut qui limitent le nombre de certaines entités.Azure subscriptions and the individual Azure services like Batch all have default quotas that limit the number of certain entities within them. Pour connaître les quotas par défaut des abonnements Azure, consultez Abonnement Azure et limites, quotas et contraintes du service.For the default quotas for Azure subscriptions, see Azure subscription and service limits, quotas, and constraints. Pour obtenir les quotas par défaut du service Batch, consultez Quotas et limites pour le service Azure Batch.For the default quotas of the Batch service, see Quotas and limits for the Azure Batch service. La bibliothèque Batch Management .NET vous permet de vérifier ces quotas dans vos applications.By using the Batch Management .NET library, you can check these quotas in your applications. Vous pouvez ainsi plus facilement décider des allocations avant d’ajouter des comptes ou des ressources de calcul comme les pools et nœuds de calcul.This enables you to make allocation decisions before you add accounts or compute resources like pools and compute nodes.

Vérifier les quotas d'un compte Batch dans un abonnement AzureCheck an Azure subscription for Batch account quotas

Avant de créer un compte Batch dans une région, vous pouvez vérifier dans votre abonnement Azure que vous êtes en mesure d'ajouter un compte dans cette région.Before creating a Batch account in a region, you can check your Azure subscription to see whether you are able to add an account in that region.

Dans l’extrait de code ci-dessous, nous utilisons tout d’abord BatchManagementClient.Account.ListAsync pour obtenir la liste de tous les comptes Batch d’un abonnement.In the code snippet below, we first use BatchManagementClient.Account.ListAsync to get a collection of all Batch accounts that are within a subscription. Une fois que nous avons obtenu cette collection, nous pouvons déterminer le nombre de comptes qui se trouvent dans la région cible.Once we've obtained this collection, we determine how many accounts are in the target region. Nous utilisons ensuite BatchManagementClient.Subscriptions pour obtenir le quota de comptes Batch et déterminer le nombre de comptes (le cas échéant) pouvant être créés dans cette région.Then we use BatchManagementClient.Subscriptions to obtain the Batch account quota and determine how many accounts (if any) can be created in that region.

// Get a collection of all Batch accounts within the subscription
BatchAccountListResponse listResponse =
        await batchManagementClient.Account.ListAsync(new AccountListParameters());
IList<AccountResource> accounts = listResponse.Accounts;
Console.WriteLine("Total number of Batch accounts under subscription id {0}:  {1}",
    creds.SubscriptionId,
    accounts.Count);

// Get a count of all accounts within the target region
string region = "westus";
int accountsInRegion = accounts.Count(o => o.Location == region);

// Get the account quota for the specified region
SubscriptionQuotasGetResponse quotaResponse = await batchManagementClient.Subscriptions.GetSubscriptionQuotasAsync(region);
Console.WriteLine("Account quota for {0} region: {1}", region, quotaResponse.AccountQuota);

// Determine how many accounts can be created in the target region
Console.WriteLine("Accounts in {0}: {1}", region, accountsInRegion);
Console.WriteLine("You can create {0} accounts in the {1} region.", quotaResponse.AccountQuota - accountsInRegion, region);

Dans l’extrait ci-dessus, creds est une instance de TokenCloudCredentials.In the snippet above, creds is an instance of TokenCloudCredentials. Pour voir un exemple de création de cet objet, consultez l’exemple de code AccountManagement sur GitHub.To see an example of creating this object, see the AccountManagement code sample on GitHub.

Vérifier les quotas de ressources de calcul dans un compte BatchCheck a Batch account for compute resource quotas

Avant d’augmenter les ressources de calcul dans votre solution Batch, vous pouvez vous assurer que les ressources que vous souhaitez allouer ne dépasseront pas les quotas de comptes.Before increasing compute resources in your Batch solution, you can check to ensure the resources you want to allocate won't exceed the account's quotas. Dans l’extrait de code ci-dessous, nous imprimons les informations de quota pour le compte Batch nommé mybatchaccount.In the code snippet below, we print the quota information for the Batch account named mybatchaccount. Dans votre application, vous pouvez utiliser ces informations pour déterminer si le compte peut ou non gérer les ressources supplémentaires à créer.In your own application, you could use such information to determine whether the account can handle the additional resources to be created.

// First obtain the Batch account
BatchAccountGetResponse getResponse =
    await batchManagementClient.Account.GetAsync("MyResourceGroup", "mybatchaccount");
AccountResource account = getResponse.Resource;

// Now print the compute resource quotas for the account
Console.WriteLine("Core quota: {0}", account.Properties.CoreQuota);
Console.WriteLine("Pool quota: {0}", account.Properties.PoolQuota);
Console.WriteLine("Active job and job schedule quota: {0}", account.Properties.ActiveJobAndJobScheduleQuota);

Importante

Bien qu’il y ait des quotas par défaut pour les abonnements et services Azure, la plupart de ces limites peuvent être relevées en émettant une requête dans le Portail Azure.While there are default quotas for Azure subscriptions and services, many of these limits can be raised by issuing a request in the Azure portal. Par exemple, consultez Quotas et limites du service Azure Batch pour obtenir des instructions sur l’augmentation des quotas de vos comptes Batch.For example, see Quotas and limits for the Azure Batch service for instructions on increasing your Batch account quotas.

Utiliser Azure AD avec Batch Management .NETUse Azure AD with Batch Management .NET

La bibliothèque Batch Management .NET est un client de fournisseur de ressources Azure. Elle est utilisée avec Azure Resource Manager pour gérer les ressources de compte par programme.The Batch Management .NET library is an Azure resource provider client, and is used together with Azure Resource Manager to manage account resources programmatically. Azure AD est nécessaire pour authentifier les demandes effectuées via les clients de fournisseur de ressources Azure, dont la bibliothèque Batch Management .NET, et Azure Resource Manager.Azure AD is required to authenticate requests made through any Azure resource provider client, including the Batch Management .NET library, and through Azure Resource Manager. Pour plus d’informations sur l’utilisation d’Azure AD avec la bibliothèque Batch Management .NET, consultez Utiliser Azure Active Directory pour authentifier des solutions Batch.For information about using Azure AD with the Batch Management .NET library, see Use Azure Active Directory to authenticate Batch solutions.

Exemple de projet sur GitHubSample project on GitHub

Pour voir la bibliothèque Batch Management .NET en pratique, découvrez l’exemple de projet AccountManagment sur GitHub.To see Batch Management .NET in action, check out the AccountManagement sample project on GitHub. L’exemple d’application AccountManagement illustre les opérations suivantes :The AccountManagement sample application demonstrates the following operations:

  1. Acquérir un jeton de sécurité d’Azure AD avec ADAL.Acquire a security token from Azure AD by using ADAL. Si l’utilisateur n’est pas encore connecté, il est invité à entrer ses informations d’identification Azure.If the user is not already signed in, they are prompted for their Azure credentials.
  2. Avec le jeton de sécurité obtenu à partir d’Azure AD, créez une classe SubscriptionClient pour demander à Azure la liste des abonnements associés au compte.With the security token obtained from Azure AD, create a SubscriptionClient to query Azure for a list of subscriptions associated with the account. L’utilisateur peut sélectionner un abonnement à partir de la liste si celle-ci en contient plusieurs.The user can select a subscription from the list if it contains more than one subscription.
  3. Obtenez les informations d’identification associées à l’abonnement sélectionné.Get credentials associated with the selected subscription.
  4. Créez un objet ResourceManagementClient avec les informations d’identification.Create a ResourceManagementClient object by using the credentials.
  5. Utilisez un objet ResourceManagementClient pour créer un groupe de ressources.Use a ResourceManagementClient object to create a resource group.
  6. Utilisez un objet BatchManagementClient pour effectuer un certain nombre d’opérations de compte Batch :Use a BatchManagementClient object to perform several Batch account operations:
    • Créez un compte Batch dans le nouveau groupe de ressources.Create a Batch account in the new resource group.
    • Récupérer le compte créé dans le service BatchGet the newly created account from the Batch service.
    • Imprimer les clés du nouveau comptePrint the account keys for the new account.
    • Régénérer une nouvelle clé primaire pour le compteRegenerate a new primary key for the account.
    • Imprimer les informations de quota du comptePrint the quota information for the account.
    • Imprimer les informations de quota de l’abonnementPrint the quota information for the subscription.
    • Imprimer tous les comptes de l’abonnementPrint all accounts within the subscription.
    • Supprimer le compte crééDelete newly created account.
  7. Supprimez le groupe de ressources.Delete the resource group.

Avant de supprimer le compte Batch et le groupe de ressources qui viennent d’être créés, vous pouvez les afficher tous les deux dans le Portail Azure :Before deleting the newly created Batch account and resource group, you can view them in the Azure portal:

Pour exécuter l’exemple d’application, vous devez tout d’abord l’inscrire auprès de votre locataire Azure AD sur le portail Azure et accorder des autorisations à l’API Azure Resource Manager.To run the sample application successfully, you must first register it with your Azure AD tenant in the Azure portal and grant permissions to the Azure Resource Manager API. Suivez les étapes indiquées dans Authentifier des solutions de gestion Batch avec Active Directory.Follow the steps provided in Authenticate Batch Management solutions with Active Directory.