Подготовка локальных Azure
.NET .NET Aspire упрощает разработку локальных облачных приложений с помощью привлекательной модели узла приложения. Эта модель позволяет локально запускать приложение с той же конфигурацией и службами, что и в Azure. В этой статье вы узнаете, как настраивать ресурсы Azure из вашей локальной среды разработки посредством узла приложения .NET.NET Aspire.
Ескерім
Чтобы быть ясным, ресурсы подготавливаются в Azure, но процесс подготовки инициируется из локальной среды разработки. Чтобы оптимизировать локальный интерфейс разработки, рекомендуется использовать эмулятор или контейнеры при наличии. Дополнительные сведения см. в разделе Типичный интерфейс разработчика.
В этой статье предполагается, что у вас есть Azure учетная запись и подписка. Если у вас нет учетной записи Azure, вы можете бесплатно создать её на сайте Azure. Для правильной работы функций подготовки необходимо пройти аутентификацию с помощью Azure. Убедитесь, что установлен Azure Developer CLI. Кроме того, необходимо указать некоторые значения конфигурации, чтобы логика развертывания могла создавать ресурсы от вашего имени.
Хост приложения предоставляет набор API-интерфейсов для выражения ресурсов Azure. Эти API доступны в качестве методов расширения в библиотеках размещения .NET AspireAzure, тем самым расширяя интерфейс IDistributedApplicationBuilder. При добавлении Azure ресурсов на узел приложения они автоматически добавят соответствующие функции обеспечения. Другими словами, вам не нужно напрямую вызывать API обеспечения.
При запуске хоста приложения выполняется следующая логика подготовки:
- Раздел конфигурации
Azure
проверен. - Когда имеется недопустимость, вывод панели мониторинга и хоста приложения предоставляет подсказки о том, чего не хватает. Дополнительные сведения см. в подсказках о недостающих значениях конфигурации.
- Если допустимые Azure ресурсы подготавливаются условно:
- Если развертывание Azure для данного ресурса не существует, оно создается и настраивается как развертывание.
- Конфигурация указанного развертывания помечена контрольной суммой в качестве средства для поддержки предоставления ресурсов строго по мере необходимости.
Хост приложения автоматически управляет предоставлением ресурсов Azure. При первом запуске узла приложения он подготавливает ресурсы, указанные в узле приложения. Последующие запуски не подготавливают ресурсы повторно, если конфигурация узла приложения не изменяется.
Если вы уже подготовили Azure ресурсы за пределами узла приложения и хотите их использовать, укажите строку подключения с API AddConnectionString, как это показано в следующем примере Azure Key Vault.
// Service registration
var secrets = builder.ExecutionContext.IsPublishMode
? builder.AddAzureKeyVault("secrets")
: builder.AddConnectionString("secrets");
// Service consumption
builder.AddProject<Projects.ExampleProject>()
.WithReference(secrets)
В приведенном выше фрагменте кода показано, как добавить Azure Key Vault в хост приложения. API AddAzureKeyVault используется для добавления Azure Key Vault в хост приложения. API AddConnectionString
используется для предоставления строки подключения узлу приложения.
Кроме того, для некоторых Azure ресурсов вы можете выбрать вариант использования их в качестве эмулятора с помощью API RunAsEmulator
. Этот API доступен для интеграций хранилищ Azure Cosmos DB и Azure. Например, чтобы запустить AzureAzure Cosmos DB в качестве эмулятора, можно использовать следующий фрагмент кода:
var cosmos = builder.AddAzureCosmosDB("cosmos")
.RunAsEmulator();
API RunAsEmulator настраивает ресурс Azure Cosmos DB для эмулирования с помощью эмулятора Azure Cosmos DB с API NoSQL.
Если вы используете Azure ресурсы в хостинге приложения, вы используете одну или несколько .NET AspireAzure интеграций размещения. Эти библиотеки хостинга предоставляют методы расширения интерфейсу IDistributedApplicationBuilder для добавления Azure ресурсов в хост приложения.
При использовании Azure ресурсов в локальной среде разработки необходимо указать необходимые значения конфигурации. Значения конфигурации указываются в разделе Azure
:
-
SubscriptionId
: идентификатор подписки Azure. -
AllowResourceGroupCreation
: логическое значение, указывающее, следует ли создавать новую группу ресурсов. -
ResourceGroup
: имя используемой группы ресурсов. -
Location
: используемый регион Azure.
Рассмотрим следующий пример конфигурации appsettings.json:
{
"Azure": {
"SubscriptionId": "<Your subscription id>",
"AllowResourceGroupCreation": true,
"ResourceGroup": "<Valid resource group name>",
"Location": "<Valid Azure location>"
}
}
Маңызды
Рекомендуется хранить эти значения в виде секретов приложения. Дополнительные сведения см. в разделе Управление секретами приложений.
После настройки необходимых значений можно начать подготовку Azure ресурсов в локальной среде разработки.
Хост приложения .NET Aspire использует хранилище учетных данных для проверки подлинности и авторизации ресурса Azure. В зависимости от вашей подписки, для сценариев предоставления услуг в многопользовательской среде может потребоваться соответствующий репозиторий учетных данных.
С 📦Aspire. Хостинг.Azure установлен пакет NuGet и если узел приложения зависит от Azure ресурсов, то хранилище учетных данных по умолчанию Azure зависит от DefaultAzureCredential. Чтобы изменить это поведение, можно задать значение хранилища учетных данных в файле appsettings.json, как показано в следующем примере:
{
"Azure": {
"CredentialSource": "AzureCli"
}
}
Как и для всех параметров конфигурации, их можно настроить с помощью альтернативных поставщиков, например пользовательских секретов или переменных среды. Значение Azure:CredentialSource
можно задать одним из следующих значений:
-
AzureCli
: делегаты AzureCliCredential. -
AzurePowerShell
: делегаты AzurePowerShellCredential. -
VisualStudio
: делегирует полномочия VisualStudioCredential. -
VisualStudioCode
: делегаты VisualStudioCodeCredential. -
AzureDeveloperCli
: делегаты AzureDeveloperCliCredential. -
InteractiveBrowser
: делегаты в InteractiveBrowserCredential.
Шайпұл
Дополнительные сведения о проверке подлинности и авторизации пакета SDK Azure см. в цепочках учетных данных в библиотеке удостоверений Azure для .NET.
В Visual Studioвы можете использовать подключенные службы для настройки по умолчанию параметров подготовки Azure. Выберите проект хоста приложения, щелкните правой кнопкой мыши на узле подключенных служб и выберите Azure настройки резервирования ресурсов:
Откроется диалоговое окно, где можно настроить параметры подготовки Azure, как показано на следующем снимке экрана.
Если раздел конфигурации SubscriptionId
, пытаясь использовать ресурс Azure Key Vault. Страница
панель мониторинга
Кроме того, журналы консоли отображают эти сведения, а также рассмотрим следующий снимок экрана:
После распределения ресурсов Azure таким образом, необходимо вручную очистить ресурсы на портале Azure, так как .NET Aspire не предоставляет встроенного механизма для удаления ресурсов Azure. Самый простой способ добиться этого — удалить настроенную группу ресурсов. Это можно сделать на портале Azure или с помощью интерфейса командной строки Azure:
az group delete --name <ResourceGroupName>
Замените <ResourceGroupName>
именем группы ресурсов, которую вы хотите удалить. Дополнительные сведения см. в статье az group delete.
.NET Aspire кері байланысы
.NET Aspire — бастапқы коды ашық жоба. Пікір қалдыру үшін сілтемені таңдаңыз: