Místní zřizování Azure
.NET .NET Aspire zjednodušuje vývoj místních aplikací nativních pro cloud pomocí atraktivního hostitelského modelu aplikace. Tento model umožňuje spustit aplikaci místně se stejnou konfigurací a službami jako v Azure. V tomto článku se dozvíte, jak zřídit Azure prostředky z místního vývojového prostředí pomocí hostitele aplikace .NET.NET Aspire.
Poznámka
Aby bylo jasné, prostředky se zřizují v Azure, ale proces zřizování se zahájí z místního vývojového prostředí. Pokud chcete optimalizovat místní vývojové prostředí, zvažte použití emulátoru nebo kontejnerů, pokud jsou k dispozici. Další informace naleznete v tématu typické vývojářské prostředí.
Požadavky
Tento článek předpokládá, že máte účet Azure a předplatné. Pokud nemáte účet Azure, můžete si ho zdarma vytvořit na Azure bezplatném účtu. Aby funkce zřizování fungovaly správně, budete muset být ověřeni pomocí Azure. Ujistěte se, že máte nainstalovaný Azure Developer CLI. Kromě toho budete muset zadat některé konfigurační hodnoty, aby logika zřizování mohla vytvářet prostředky vaším jménem.
Rozhraní API pro zřizování hostů aplikací
Hostitel aplikace poskytuje sadu API pro vyjádření prostředků Azure. Tato rozhraní API jsou k dispozici jako rozšiřující metody v .NET AspireAzure hostitelských knihovnách, které rozšiřují rozhraní IDistributedApplicationBuilder. Když do hostitele aplikace přidáte Azure prostředky, automaticky přidají odpovídající funkce pro zajištění prostředků. Jinými slovy, nemusíte přímo volat žádná zřizovací rozhraní API.
Po spuštění hostitele aplikace se spustí následující logika zřizování:
- Oddíl konfigurace
Azure
je ověřen. - Pokud je neplatný výstup řídicího panelu a hostitele aplikace, zobrazí se rady, co chybí. Další informace naleznete v tématu Přehled chybějících hodnot konfigurace.
- Když jsou platné prostředky Azure podmíněně zřizovány:
- Pokud pro daný prostředek neexistuje nasazení Azure, je vytvořeno a nakonfigurováno jako nasazení.
- Konfigurace uvedeného nasazení je opatřena kontrolním součtem s cílem podporovat zřizování prostředků pouze tehdy, když je to nutné.
Použití existujících prostředků Azure
Hostitel aplikace automaticky spravuje přidělování Azure prostředků. Při prvním spuštění hostitele aplikace budou zřízeny prostředky uvedené v hostiteli aplikace. Při dalších spuštěních se prostředky znovu nepřidělují, pokud se nezmění konfigurace náhostnu aplikace.
Pokud jste mimo hostitele aplikace už zřídili Azure prostředky a chcete tyto prostředky využít, můžete poskytnout připojovací řetězec pomocí AddConnectionString API, jak je uvedeno v následujícím příkladu Azure Key Vault.
// Service registration
var secrets = builder.ExecutionContext.IsPublishMode
? builder.AddAzureKeyVault("secrets")
: builder.AddConnectionString("secrets");
// Service consumption
builder.AddProject<Projects.ExampleProject>()
.WithReference(secrets)
Předchozí fragment kódu ukazuje, jak přidat Azure Key Vault do hostitele aplikace. Rozhraní API AddAzureKeyVault slouží k přidání Azure Key Vault do hostitele aplikace. Rozhraní API AddConnectionString
slouží k poskytnutí připojovacího řetězce hostiteli aplikace.
Případně můžete u některých Azure prostředků vyjádřit výslovný souhlas se spuštěním jako emulátoru s rozhraním RunAsEmulator
API. Toto rozhraní API je k dispozici pro integrace Azure Cosmos DB a Azure storage. Pokud chcete například spustit AzureAzure Cosmos DB jako emulátor, můžete použít následující fragment kódu:
var cosmos = builder.AddAzureCosmosDB("cosmos")
.RunAsEmulator();
Rozhraní API RunAsEmulator nakonfiguruje prostředek Azure Cosmos DB, který se má emulovat pomocí emulátoru Azure Cosmos DB s rozhraním API NoSQL.
.NET Aspire Azure integrace hostingu
Pokud v hostiteli aplikace používáte Azure prostředky, používáte jedno nebo více integračních hostování .NET AspireAzure. Tyto hostitelské knihovny poskytují rozšiřující metody rozhraní IDistributedApplicationBuilder pro přidání Azure prostředků do hostitele aplikace.
Konfigurace
Při využití Azure prostředků v místním vývojovém prostředí je potřeba zadat potřebné hodnoty konfigurace. Hodnoty konfigurace se zadají v části Azure
:
-
SubscriptionId
: ID Azure předplatného. -
AllowResourceGroupCreation
: Logická hodnota označující, jestli se má vytvořit nová skupina prostředků. -
ResourceGroup
: Název skupiny prostředků, která se má použít. -
Location
: Oblast Azure, která se má použít.
Představte si následující příklad konfigurace appsettings.json:
{
"Azure": {
"SubscriptionId": "<Your subscription id>",
"AllowResourceGroupCreation": true,
"ResourceGroup": "<Valid resource group name>",
"Location": "<Valid Azure location>"
}
}
Důležitý
Tyto hodnoty doporučujeme uložit jako tajné kódy aplikace. Další informace najdete v tématu Správa tajných kódů aplikací.
Po nakonfigurování potřebných hodnot můžete začít nasazovat Azure prostředky v místním vývojovém prostředí.
Azure zřizování úložiště přihlašovacích údajů
Hostitel aplikace .NET Aspire používá úložiště přihlašovacích údajů k ověřování a autorizaci prostředků Azure. V závislosti na vašem předplatném může být pro scénáře zřizování s více tenanty potřeba správné úložiště přihlašovacích údajů.
S nainstalovaným balíčkem NuGet 📦Aspire.Hosting.Azure a pokud hostitel vaší aplikace závisí na Azure prostředcích, výchozí úložiště přihlašovacích údajů Azure závisí na DefaultAzureCredential. Pokud chcete toto chování změnit, můžete nastavit hodnotu úložiště přihlašovacích údajů v souboru appsettings.json, jak je znázorněno v následujícím příkladu:
{
"Azure": {
"CredentialSource": "AzureCli"
}
}
Stejně jako u všech nastavení založených na konfiguracije můžete nakonfigurovat s alternativními poskytovateli, například tajnými kódy uživatelů nebo proměnnými prostředí. Hodnotu Azure:CredentialSource
lze nastavit na jednu z následujících hodnot:
-
AzureCli
: Delegáti na AzureCliCredential. -
AzurePowerShell
: Deleguje na AzurePowerShellCredential. -
VisualStudio
: Deleguje na VisualStudioCredential. -
VisualStudioCode
: Delegáti na VisualStudioCodeCredential. -
AzureDeveloperCli
: Delegáti na AzureDeveloperCliCredential. -
InteractiveBrowser
: Deleguje na InteractiveBrowserCredential.
Spropitné
Další informace o ověřování a autorizaci sady Azure SDK najdete v tématu „Řetězce přihlašovacích údajů“ v knihovně identit Azure pro .NET.
Podpora nástrojů
V Visual Studiomůžete pomocí připojených služeb nakonfigurovat výchozí nastavení zřizování Azure. Vyberte projekt aplikace hostitele, klikněte pravým tlačítkem na uzel Služby připojení a vyberte možnost Azure Nastavení správy prostředků:
Otevře se dialogové okno, kde můžete nakonfigurovat nastavení provisioning Azure, jak je znázorněno na následujícím snímku obrazovky.
Chybějící nápověda k hodnotám konfigurace
Pokud oddíl konfigurace Azure
chybí, obsahuje chybějící hodnoty nebo je neplatný, řídicí panel .NET.NET Aspire poskytuje užitečné rady. Představte si například hostitele aplikace, kterému chybí hodnota konfigurace SubscriptionId
, a přitom se pokouší použít prostředek Azure Key Vault. Stránka prostředků
řídicí panel
Kromě toho protokoly konzole také zobrazují tyto informace, podívejte se na následující snímek obrazovky.
Známá omezení
Po zřízení Azure prostředků tímto způsobem je nutné manuálně vyčistit prostředky na portálu Azure, protože .NET Aspire neposkytuje integrovaný mechanismus pro odstranění Azure prostředků. Nejjednodušší způsob, jak toho dosáhnout, je odstraněním nakonfigurované skupiny prostředků. Můžete to provést na portálu Azure nebo pomocí rozhraní příkazového řádku Azure:
az group delete --name <ResourceGroupName>
Nahraďte <ResourceGroupName>
názvem skupiny prostředků, kterou chcete odstranit. Pro více informací viz az group delete.