.NET için Toplu Yönetim istemci kitaplığıyla Batch hesaplarını ve kotalarını yönetme

Batch hesabı oluşturma, silme, anahtar yönetimi ve kota bulma işlemlerini otomatikleştirmek için Batch Management .NET kitaplığını kullanarak Azure Batch uygulamalarınızda bakım yükünü azaltabilirsiniz.

  • Herhangi bir bölgede Batch hesapları oluşturun ve silin. Örneğin bağımsız bir yazılım satıcısı (ISV) olarak, müşterileriniz için faturalama amacıyla her birine ayrı bir Batch hesabı atanmış bir hizmet sağlarsanız, müşteri portalınıza hesap oluşturma ve silme özellikleri ekleyebilirsiniz.
  • Batch hesaplarınızdan herhangi biri için hesap anahtarlarını program aracılığıyla alın ve yeniden oluşturun. Bu, düzenli olarak geçiş veya hesap anahtarlarının süresinin dolmasını zorunlu kılan güvenlik ilkelerine uymanıza yardımcı olabilir. Çeşitli Azure bölgelerinde birden fazla Batch hesabınız olduğunda, bu geçiş işleminin otomasyonu çözümünüzün verimliliğini artırır.
  • Hesap kotalarını denetleyin ve hangi Batch hesaplarının hangi sınırlara sahip olduğunu belirlemek için deneme ve hata tahminini alın. İşleri başlatmadan, havuz oluşturmadan veya işlem düğümleri eklemeden önce hesap kotalarınızı denetleyerek, bu işlem kaynaklarının nerede veya ne zaman oluşturulduğunu proaktif olarak ayarlayabilirsiniz. Bu hesaplarda ek kaynaklar ayırmadan önce hangi hesapların kota artışı gerektirdiğini belirleyebilirsiniz.
  • Batch Management .NET, Microsoft Entra ID ve Azure Resource Manager'ı aynı uygulamada birlikte kullanarak tam özellikli bir yönetim deneyimi için diğer Azure hizmetlerinin özelliklerini birleştirin. Bu özellikleri ve BUNLARıN API'lerini kullanarak sorunsuz bir kimlik doğrulama deneyimi, kaynak grupları oluşturup silme olanağı ve uçtan uca bir yönetim çözümü için yukarıda açıklanan özellikleri sağlayabilirsiniz.

Dekont

Bu makale Batch hesaplarınızın, anahtarlarınızın ve kotalarınızın programlı yönetimine odaklansa da, Azure portalını kullanarak bu etkinliklerin çoğunu da gerçekleştirebilirsiniz.

Batch hesapları oluşturma ve silme

Batch Management API'sinin birincil özelliklerinden biri, bir Azure bölgesinde Batch hesapları oluşturmak ve silmektir. Bunu yapmak için BatchManagementClient.Account.CreateAsync ve DeleteAsync veya zaman uyumlu karşılıklarını kullanın.

Aşağıdaki kod parçacığı bir hesap oluşturur, batch hizmetinden yeni oluşturulan hesabı alır ve ardından siler. Bu kod parçacığında ve bu makaledeki diğerleri, batchManagementClient BatchManagementClient'ın tam olarak başlatılan bir örneğidir.

// 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);

Dekont

Batch Management .NET kitaplığını ve BatchManagementClient sınıfını kullanan uygulamalar, yönetilecek Batch hesabına sahip olan aboneliğe hizmet yöneticisi veya ortak yönetici erişimi gerektirir. Daha fazla bilgi için Microsoft Entra Id bölümüne ve AccountManagement kod örneğine bakın.

Hesap anahtarlarını alma ve yeniden oluşturma

GetKeysAsync kullanarak aboneliğinizdeki herhangi bir Batch hesabından birincil ve ikincil hesap anahtarlarını alın. RegenerateKeyAsync kullanarak bu anahtarları yeniden oluşturabilirsiniz.

// Get and print the primary and secondary keys
BatchAccountGetKeyResult accountKeys =
    await batchManagementClient.Account.GetKeysAsync(
        "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
            });

Bahşiş

Yönetim uygulamalarınız için kolaylaştırılmış bir bağlantı iş akışı oluşturabilirsiniz. İlk olarak, GetKeysAsync ile yönetmek istediğiniz Batch hesabı için bir hesap anahtarı alın. Ardından, BatchClient başlatılırken kullanılan Batch .NET kitaplığının BatchSharedKeyCredentials sınıfını başlatırken bu anahtarı kullanın.

Azure aboneliği ve Batch hesabı kotalarını denetleme

Azure aboneliklerinin ve Batch gibi tek tek Azure hizmetlerinin tümü, içindeki belirli varlıkların sayısını sınırlayan varsayılan kotalara sahiptir. Azure abonelikleri için varsayılan kotalar için bkz . Azure aboneliği ve hizmet sınırları, kotalar ve kısıtlamalar. Batch hizmetinin varsayılan kotaları için bkz . Azure Batch hizmeti için kotalar ve sınırlar. Batch Management .NET kitaplığını kullanarak uygulamalarınızda bu kotaları denetleyebilirsiniz. Bu, havuzlar ve işlem düğümleri gibi hesaplar veya işlem kaynakları eklemeden önce ayırma kararları vermenizi sağlar.

Batch hesabı kotaları için Azure aboneliğini denetleme

Bir bölgede Batch hesabı oluşturmadan önce Azure aboneliğinizi denetledikten sonra bu bölgeye hesap ekleyip ekleyemeyeceğinizi görebilirsiniz.

Aşağıdaki kod parçacığında ilk olarak ListAsync'i kullanarak bir abonelik içindeki tüm Batch hesaplarının koleksiyonunu alacağız. Bu koleksiyonu aldıktan sonra hedef bölgede kaç hesap olduğunu belirleriz. Ardından Batch hesabı kotasını almak ve bu bölgede kaç hesap (varsa) oluşturulabileceğini belirlemek için GetQuotasAsync kullanırız.

// Get a collection of all Batch accounts within the subscription
BatchAccountListResponse listResponse =
        await batchManagementClient.BatchAccount.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.Location.GetQuotasAsync(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);

Yukarıdaki kod parçacığında TokenCredentials creds örneği yer alır. Bu nesneyi oluşturma örneğini görmek için GitHub'da AccountManagement kod örneğine bakın.

İşlem kaynağı kotaları için Batch hesabını denetleme

Batch çözümünüzde işlem kaynaklarını artırmadan önce, ayırmak istediğiniz kaynakların hesabın kotalarını aşmadığından emin olmak için kontrol edebilirsiniz. Aşağıdaki kod parçacığında adlı mybatchaccountBatch hesabının kota bilgilerini yazdırıyoruz. Kendi uygulamanızda, hesabın oluşturulacak ek kaynakları işleyip işleyemeyeceğini belirlemek için bu bilgileri kullanabilirsiniz.

// 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);

Önemli

Azure abonelikleri ve hizmetleri için varsayılan kotalar olsa da, Azure portalında kota artışı istenerek bu sınırların çoğu artırılabilir.

Batch Management .NET ile Microsoft Entra Id kullanma

Batch Management .NET kitaplığı bir Azure kaynak sağlayıcısı istemcisidir ve hesap kaynaklarını program aracılığıyla yönetmek için Azure Resource Manager ile birlikte kullanılır. Batch Management .NET kitaplığı dahil olmak üzere herhangi bir Azure kaynak sağlayıcısı istemcisi ve Azure Resource Manager aracılığıyla yapılan isteklerin kimliğini doğrulamak için Microsoft Entra Id gereklidir. Batch Management .NET kitaplığıyla Microsoft Entra Id kullanma hakkında bilgi için bkz . Batch çözümlerinin kimliğini doğrulamak için Microsoft Entra Id kullanma.

GitHub'da örnek proje

Batch Management .NET'i uygulamada görmek için GitHub'daki AccountManagement örnek projesine göz atın. AccountManagement örnek uygulaması aşağıdaki işlemleri gösterir:

  1. Microsoft Kimlik Doğrulama Kitaplığı'nı (MSAL) kullanarak Alma ve önbelleğe alma belirteçlerini kullanarak Microsoft Entra Kimliği'nden bir güvenlik belirteci alın. Kullanıcı henüz oturum açmamışsa Azure kimlik bilgileri istenir.
  2. Microsoft Entra Id'den alınan güvenlik belirteciyle, Hesapla ilişkili aboneliklerin listesi için Azure'ı sorgulamak üzere bir SubscriptionClient oluşturun. Kullanıcı, birden fazla abonelik içeriyorsa listeden bir abonelik seçebilir.
  3. Seçili abonelikle ilişkili kimlik bilgilerini alma.
  4. Kimlik bilgilerini kullanarak bir ResourceManagementClient nesnesi oluşturun.
  5. Kaynak grubu oluşturmak için ResourceManagementClient nesnesi kullanın.
  6. Birkaç Batch hesabı işlemi gerçekleştirmek için BatchManagementClient nesnesi kullanın:
    • Yeni kaynak grubunda bir Batch hesabı oluşturun.
    • Batch hizmetinden yeni oluşturulan hesabı alın.
    • Yeni hesabın hesap anahtarlarını yazdırın.
    • Hesap için yeni bir birincil anahtar yeniden oluşturun.
    • Hesabın kota bilgilerini yazdırın.
    • Aboneliğin kota bilgilerini yazdırın.
    • Abonelik içindeki tüm hesapları yazdırın.
    • Yeni oluşturulan hesabı silin.
  7. Kaynak grubunu silin.

Örnek uygulamayı başarıyla çalıştırmak için önce Azure portalında Microsoft Entra kiracınıza kaydetmeniz ve Azure Resource Manager API'sine izinler vermeniz gerekir. Active Directory ile Batch Management çözümlerinin kimliğini doğrulama bölümünde sağlanan adımları izleyin.

Sonraki adımlar

  • Batch hizmeti iş akışı ve havuzlar, düğümler, işler ve görevler gibi birincil kaynaklar hakkında bilgi edinin.
  • Batch .NET istemci kitaplığı veya Python kullanarak Batch özellikli bir uygulama geliştirmenin temellerini öğrenin. Bu hızlı başlangıçlar, iş yükü dosyası hazırlama ve alma.git pus için Azure Depolama kullanarak birden çok işlem düğümünde iş yükü yürütmek üzere Batch hizmetini kullanan örnek bir uygulamada size yol gösterir