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 mybatchaccount
kvó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:
- 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.
- 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.
- A kijelölt előfizetéshez társított hitelesítő adatok lekérése.
- Hozzon létre egy ResourceManagementClient objektumot a hitelesítő adatok használatával.
- Erőforráscsoport létrehozásához használjon ResourceManagementClient objektumot.
- 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.
- 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.