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.

Megjegyzé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 BatchManagementClient.Account.CreateAsync és DeleteAsync parancsot, illetve azok szinkron 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. Ebben a kódrészletben és a jelen cikkben batchManagementClient szereplő többi részletben a BatchManagementClient teljes inicializált példánya.

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

Megjegyzés:

A Batch Management .NET-kódtárat és Annak BatchManagementClient osztályát használó alkalmazásoknak szolgáltatásadminisztrátori vagy társminisztrátori hozzáférést kell biztosítaniuk 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 GetKeysAsync használatával. Ezeket a kulcsokat újragenerálhatja a RegenerateKeyAsync használatával.

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

Tipp.

Egyszerűbb kapcsolati munkafolyamatot hozhat létre a felügyeleti alkalmazásokhoz. Először szerezze be a GetKeysAsynctel 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 ListAsync 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 GetQuotasAsync 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.

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

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.

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

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 a retrieveal.git pushoz