Megosztás a következőn keresztül:


Batch-fiókok és kvóták kezelése a .NET-hez készült Batch Management-ügyfélkódtárral

Az Azure Batch-alkalmazások karbantartási többletterhelését a Batch Management .NET-kódtár használatával csökkentheti a Batch-fiókok létrehozásának, törlésének, kulcskezelésének és kvótafelderítésének automatizálásához.

  • Batch-fiókok létrehozása és törlése bármely régióban. Ha például független szoftverszállítóként (ISV) olyan szolgáltatást biztosít ügyfeleinek, amelyekben számlázási célból külön Batch-fiók van hozzárendelve, hozzáadhat fióklétrehozási és -törlési képességeket az ügyfélportálhoz.
  • Kérje le és hozza létre újra a fiókkulcsokat programozott módon bármelyik Batch-fiókhoz. Ez segíthet azoknak a biztonsági szabályzatoknak a betartásában, amelyek a fiókkulcsok rendszeres visszaállítását vagy lejártát kényszerítik. Ha több Batch-fiókkal rendelkezik a különböző Azure-régiókban, a bevezetési folyamat automatizálása növeli a megoldás hatékonyságát.
  • Ellenőrizze a fiókkvótákat, és állapítsa meg, hogy mely Batch-fiókokra vonatkoznak a korlátok. A fiókkvótáknak a feladatok megkezdése, készletek létrehozása vagy számítási csomópontok hozzáadása előtt történő ellenőrzésével proaktív módon módosíthatja, hogy hol vagy mikor jönnek létre ezek a számítási erőforrások. Megadhatja, hogy mely fiókok igényelnek kvótanövelést, mielőtt további erőforrásokat szeretne kiosztani ezekben a fiókokban.
  • A Batch Management .NET, a Microsoft Entra ID és az Azure Resource Manager együttes használatával kombinálhatja a többi Azure-szolgáltatás funkcióit a teljes körű felügyeleti élmény érdekében. Ezeknek a funkcióknak és API-iknak a használatával zökkenőmentes hitelesítési élményt, erőforráscsoportok létrehozását és törlését, valamint a fent ismertetett képességeket biztosíthatja a végpontok közötti felügyeleti megoldáshoz.

Feljegyzés

Bár ez a cikk a Batch-fiókok, kulcsok és kvóták programozott kezelésével foglalkozik, az Azure Portal használatával számos ilyen tevékenységet is elvégezhet.

Batch-fiókok létrehozása és törlése

A Batch Management API egyik elsődleges funkciója a Batch-fiókok létrehozása és törlése egy Azure-régióban. Ehhez használja a BatchAccountCollection.CreateOrUpdate és Delete parancsot, illetve azok aszinkron megfelelőit.

Az alábbi kódrészlet létrehoz egy fiókot, lekéri az újonnan létrehozott fiókot a Batch szolgáltatásból, majd törli azt.

 string subscriptionId = "Your SubscriptionID";
 string resourceGroupName = "Your ResourceGroup name";

 var credential = new DefaultAzureCredential();
 ArmClient _armClient = new ArmClient(credential);

 ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
 ResourceGroupResource resourceGroupResource = _armClient.GetResourceGroupResource(resourceGroupResourceId);

 var data = new BatchAccountCreateOrUpdateContent(AzureLocation.EastUS);

 // Create a new batch account
 resourceGroupResource.GetBatchAccounts().CreateOrUpdate(WaitUntil.Completed, "Your BatchAccount name", data);
 
 // Get an existing batch account
 BatchAccountResource batchAccount = resourceGroupResource.GetBatchAccount("Your BatchAccount name");

 // Delete the batch account
 batchAccount.Delete(WaitUntil.Completed);

Feljegyzés

A Batch Management .NET-tárat használó alkalmazásokhoz szolgáltatásadminisztrátori vagy társminisztrátori hozzáférésre van szükség ahhoz az előfizetéshez, amely a Batch-fiókot birtokolja. További információt a Microsoft Entra ID szakaszában és az AccountManagement kódmintájában talál.

Fiókkulcsok lekérése és újragenerálása

Szerezze be az elsődleges és másodlagos fiókkulcsokat az előfizetés bármely Batch-fiókjából a GetKeys használatával. Ezeket a kulcsokat újragenerálhatja a RegenerateKey használatával.

string subscriptionId = "Your SubscriptionID";
string resourceGroupName = "Your ResourceGroup name";

var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);

ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = _armClient.GetResourceGroupResource(resourceGroupResourceId);

var data = new BatchAccountCreateOrUpdateContent(AzureLocation.EastUS);

// Get an existing batch account
BatchAccountResource batchAccount = resourceGroupResource.GetBatchAccount("Your BatchAccount name");

// Get and print the primary and secondary keys
BatchAccountKeys accountKeys = batchAccount.GetKeys();

Console.WriteLine("Primary key:   {0}", accountKeys.Primary);
Console.WriteLine("Secondary key: {0}", accountKeys.Secondary);

// Regenerate the primary key
BatchAccountRegenerateKeyContent regenerateKeyContent = new BatchAccountRegenerateKeyContent(BatchAccountKeyType.Primary);
batchAccount.RegenerateKey(regenerateKeyContent);

Tipp.

Egyszerűbb kapcsolati munkafolyamatot hozhat létre a felügyeleti alkalmazásokhoz. Először szerezze be a GetKeys szolgáltatással kezelni kívánt Batch-fiókhoz tartozó fiókkulcsot. Ezután használja ezt a kulcsot a Batch .NET-kódtár BatchSharedKeyCredentials osztályának inicializálásához, amely a BatchClient inicializálásakor használatos.

Azure-előfizetés és Batch-fiókkvóták ellenőrzése

Az Azure-előfizetések és az egyes Azure-szolgáltatások, például a Batch mind alapértelmezett kvótákkal rendelkeznek, amelyek korlátozzák a bennük lévő egyes entitások számát. Az Azure-előfizetések alapértelmezett kvótáiért tekintse meg az Azure-előfizetések és -szolgáltatások korlátait, kvótáit és korlátozásait. A Batch szolgáltatás alapértelmezett kvótáiról az Azure Batch szolgáltatás kvótái és korlátai című témakörben olvashat. A Batch Management .NET-kódtár használatával ellenőrizheti ezeket a kvótákat az alkalmazásokban. Ez lehetővé teszi, hogy foglalási döntéseket hozzon, mielőtt fiókokat vagy számítási erőforrásokat, például készleteket és számítási csomópontokat ad hozzá.

Azure-előfizetés ellenőrzése Batch-fiókkvótákhoz

Mielőtt létrehoz egy Batch-fiókot egy régióban, ellenőrizheti az Azure-előfizetését, hogy fel tud-e venni egy fiókot az adott régióba.

Az alábbi kódrészletben először a GetBatchAccounts használatával szerezzük be az előfizetésen belüli összes Batch-fiók gyűjteményét. Miután beszereztük ezt a gyűjteményt, meghatározzuk, hogy hány fiók található a célrégióban. Ezután a GetBatchQuotas használatával szerezzük be a Batch-fiókkvótát, és meghatározzuk, hogy hány fiók hozható létre (ha van ilyen) az adott régióban.

string subscriptionId = "Your SubscriptionID";
ArmClient _armClient = new ArmClient(new DefaultAzureCredential());

ResourceIdentifier subscriptionResourceId = SubscriptionResource.CreateResourceIdentifier(subscriptionId);
SubscriptionResource subscriptionResource = _armClient.GetSubscriptionResource(subscriptionResourceId);

// Get a collection of all Batch accounts within the subscription
var batchAccounts = subscriptionResource.GetBatchAccounts();
Console.WriteLine("Total number of Batch accounts under subscription id {0}:  {1}", subscriptionId, batchAccounts.Count());

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

// Get the account quota for the specified region
BatchLocationQuota batchLocationQuota = subscriptionResource.GetBatchQuotas(AzureLocation.EastUS);
Console.WriteLine("Account quota for {0} region: {1}", region, batchLocationQuota.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.", batchLocationQuota.AccountQuota - accountsInRegion, region);

A fenti creds kódrészletben a TokenCredentials egy példánya látható. Az objektum létrehozásának példáját a GitHub AccountManagement kódmintájában tekinthet meg.

Számítási erőforráskvóták ellenőrzése Batch-fiókban

Mielőtt növelené a számítási erőforrásokat a Batch-megoldásban, ellenőrizheti, hogy a lefoglalni kívánt erőforrások nem lépik-e túl a fiók kvótáját. Az alábbi kódrészletben kinyomtatjuk a Batch-fiók mybatchaccountkvótaadatait. A saját alkalmazásában ezeket az információkat felhasználhatja annak meghatározására, hogy a fiók képes-e kezelni a létrehozandó további erőforrásokat.

string subscriptionId = "Your SubscriptionID";
string resourceGroupName = "Your ResourceGroup name";

var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);

ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = _armClient.GetResourceGroupResource(resourceGroupResourceId);

// Get an existing batch account
BatchAccountResource batchAccount = resourceGroupResource.GetBatchAccount("Your BatchAccount name");

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

Fontos

Bár az Azure-előfizetésekre és -szolgáltatásokra vonatkozóan vannak alapértelmezett kvóták, ezek közül számos korlátozás emelhető, ha kvótanövelést kér az Azure Portalon.

A Microsoft Entra ID használata a Batch Management .NET-tel

A Batch Management .NET-kódtár egy Azure-erőforrás-szolgáltatói ügyfél, és az Azure Resource Managerrel együtt használják a fiókerőforrások programozott kezelésére. A Microsoft Entra-azonosító szükséges a bármely Azure-erőforrás-szolgáltatói ügyfélen keresztül érkező kérések hitelesítéséhez, beleértve a Batch Management .NET-kódtárat és az Azure Resource Managert. A Microsoft Entra ID batch management .NET-kódtárral való használatáról a Batch-megoldások hitelesítése a Microsoft Entra ID használatával című témakörben olvashat.

Mintaprojekt a GitHubon

A Batch Management .NET működés közbeni megtekintéséhez tekintse meg az AccountManagement mintaprojektet a GitHubon. Az AccountManagement mintaalkalmazás a következő műveleteket mutatja be:

  1. Biztonsági jogkivonat beszerzése a Microsoft Entra-azonosítóból a Microsoft Authentication Library (MSAL) használatával történő jogkivonatok beolvasásával és gyorsítótárazásával. Ha a felhasználó még nincs bejelentkezve, a rendszer kérni fogja az Azure-beli hitelesítő adatait.
  2. A Microsoft Entra-azonosítóból beszerzett biztonsági jogkivonattal hozzon létre egy SubscriptionClientet az Azure lekérdezéséhez a fiókhoz társított előfizetések listájához. A felhasználó kiválaszthat egy előfizetést a listából, ha egynél több előfizetést tartalmaz.
  3. A kijelölt előfizetéshez társított hitelesítő adatok lekérése.
  4. Hozzon létre egy ResourceManagementClient objektumot a hitelesítő adatok használatával.
  5. Erőforráscsoport létrehozásához használjon ResourceManagementClient objektumot.
  6. Több Batch-fiókművelet végrehajtásához használjon BatchManagementClient objektumot:
    • Hozzon létre egy Batch-fiókot az új erőforráscsoportban.
    • Szerezze be az újonnan létrehozott fiókot a Batch szolgáltatásból.
    • Nyomtassa ki az új fiók fiókkulcsait.
    • Új elsődleges kulcs létrehozása a fiókhoz.
    • A fiók kvótaadatainak nyomtatása.
    • Az előfizetés kvótaadatainak nyomtatása.
    • Az előfizetésen belüli összes fiók nyomtatása.
    • Törölje az újonnan létrehozott fiókot.
  7. Törölje az erőforráscsoportot.

A mintaalkalmazás sikeres futtatásához először regisztrálnia kell azt a Microsoft Entra-bérlőjéhez az Azure Portalon, és engedélyeket kell adnia az Azure Resource Manager API-nak. Kövesse a Batch Management-megoldások Active Directoryval való hitelesítése című szakasz lépéseit.

Következő lépések

  • Ismerje meg a Batch szolgáltatás munkafolyamatát és az elsődleges erőforrásokat , például készleteket, csomópontokat, feladatokat és feladatokat.
  • Megismerheti a Batch-kompatibilis alkalmazások Batch .NET ügyfélkönyvtárral vagy Python segítségével való fejlesztésének alapjait. Ezek a rövid útmutatók végigvezetik egy mintaalkalmazáson, amely a Batch szolgáltatást használja egy számítási feladat több számítási csomóponton való végrehajtásához, az Azure Storage használatával a számítási feladatok fájljának előkészítéséhez és lekéréséhez.