Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
.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 výstup řídicího panelu a hostitele aplikace neplatný, jsou poskytnuty 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 úložiště. 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í metody rozšíření rozhraní IDistributedApplicationBuilder k přidání prostředků Azure 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
: Deleguje na AzureCliCredential. -
AzurePowerShell
: Deleguje na AzurePowerShellCredential. -
VisualStudio
: Deleguje na VisualStudioCredential. -
VisualStudioCode
: Deleguje na VisualStudioCodeCredential. -
AzureDeveloperCli
: Deleguje na AzureDeveloperCliCredential. -
InteractiveBrowser
: Delegáti 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 pro nástroje
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ředky označuje Stav jako Chybějící konfigurace předplatného.
ří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.