Sdílet prostřednictvím


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í:

  1. Oddíl konfigurace Azure je ověřen.
  2. 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.
  3. Když jsou platné prostředky Azure podmíněně zřizovány:
    1. Pokud pro daný prostředek neexistuje nasazení Azure, je vytvořeno a nakonfigurováno jako nasazení.
    2. 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:

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ů:

Visual Studio 2022: projekt hostitele aplikace .NET Aspire, místní nabídka Připojené služby.

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.

Visual Studio 2022: dialogové okno nastavení zřizování prostředků Azure

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ů označuje stavu jako konfigurace chybějícího předplatného:

řídicí panel .NET.NET Aspire: Chybí konfigurace předplatného.

Kromě toho protokoly konzole také zobrazují tyto informace, podívejte se na následující snímek obrazovky.

.NET.NET Aspire řídicí panel: Protokoly konzoly, chybějící konfigurace předplatného

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.