У меня есть серверная часть с базой данных (cosmos DB) и хранилищем (учетная запись хранения Azure) и, наконец, внешнее приложение с реагированием и VITE в моем приложении оркестрации Aspire 13.1.
Я не могу развернуть его через интерфейс командной строки разработчика Azure (azd Deployment или azd Up), я получаю следующую ошибку:
info: Aspire.Hosting.DistributedApplication[0]
Aspire version: 13.1.0+8a4db1775c3fbae1c602022b636299cb04971fde
fail: Aspire.Hosting.Publishing.PipelineExecutor[0]
App Service context not found for resource frontend.
System.InvalidOperationException: App Service context not found for resource frontend.
at Aspire.Hosting.Azure.AzureAppServiceEnvironmentContext.GetAppServiceContext(IResource resource) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentContext.cs:line 30
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.ProcessValue(Object value, SecretType secretType, Object parent, Boolean isSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 149
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.CreateAndConfigureWebSite(AzureResourceInfrastructure infra, BicepValue`1 name, BicepValue`1 appServicePlanParameter, BicepValue`1 acrMidParameter, ProvisioningParameter acrClientIdParameter, ProvisioningParameter containerImage, Boolean isSlot, WebSite parentWebSite, BicepValue`1 deploymentSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 408
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.BuildWebSiteCore(AzureResourceInfrastructure infra, BicepValue`1 deploymentSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 613
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.BuildWebSite(AzureResourceInfrastructure infra) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 275
at Aspire.Hosting.Azure.AzureProvisioningResource.GetBicepTemplateFile(String directory, Boolean deleteTemporaryFileOnDispose) in /_/src/Aspire.Hosting.Azure/AzureProvisioningResource.cs:line 83
at Aspire.Hosting.Azure.AzureProvisioningResource.GetBicepTemplateString() in /_/src/Aspire.Hosting.Azure/AzureProvisioningResource.cs:line 109
at Aspire.Hosting.Azure.AzureBicepResource.c__DisplayClass0_0.b__1(PipelineConfigurationContext context) in /_/src/Aspire.Hosting.Azure/AzureBicepResource.cs:line 66
at Aspire.Hosting.Pipelines.PipelineConfigurationAnnotation.c__DisplayClass4_0.b__0(PipelineConfigurationContext context) in /_/src/Aspire.Hosting/Pipelines/PipelineConfigurationAnnotation.cs:line 42
at Aspire.Hosting.Azure.AzureAppServiceEnvironmentResource.c__DisplayClass0_0.b__1(PipelineConfigurationContext context) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs:line 105
at Aspire.Hosting.Pipelines.PipelineConfigurationAnnotation.c__DisplayClass4_0.b__0(PipelineConfigurationContext context) in /_/src/Aspire.Hosting/Pipelines/PipelineConfigurationAnnotation.cs:line 42
at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.ExecuteConfigurationCallbacksAsync(PipelineContext pipelineContext, List`1 allSteps) in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 520
at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.ExecuteAsync(PipelineContext context) in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 348
at Aspire.Hosting.Publishing.PipelineExecutor.ExecutePipelineAsync(DistributedApplicationModel model, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Publishing/PipelineExecutor.cs:line 103
at Aspire.Hosting.Publishing.PipelineExecutor.ExecuteAsync(CancellationToken stoppingToken) in /_/src/Aspire.Hosting/Publishing/PipelineExecutor.cs:line 55
И, наконец, вот мой AppHost.cs:
using Azure.Provisioning.CosmosDB;
using Azure.Provisioning.Storage;
using Microsoft.Extensions.Configuration;
var builder = DistributedApplication.CreateBuilder(args);
// Read from ASPNETCORE_ENVIRONMENT or DOTNET_ENVIRONMENT, falling back to "Production"
var env_environment = builder.Configuration["ASPNETCORE_ENVIRONMENT"]
?? builder.Configuration["DOTNET_ENVIRONMENT"]
?? builder.Configuration["Environment"]
?? "Production";
var isDevelopment = env_environment.ToLower() == "development";
Console.WriteLine($"Environment set to: {env_environment}");
// Detect if running in publish mode
var isPublishing = builder.ExecutionContext.IsPublishMode;
Console.WriteLine($"IsPublishing: {isPublishing}");
var frontendPort = builder.Configuration["Frontend:Port"] ?? "80";
Console.WriteLine($"Frontend will run on port: {frontendPort}");
var webapiPort = builder.Configuration["WebApi:Port"] ?? "80";
Console.WriteLine($"WebApi will run on port: {webapiPort}");
// Add CosmosDB resource - private endpoints will be created post-deployment
var cosmos = builder.AddAzureCosmosDB("cosmos-db");
var db = cosmos.AddCosmosDatabase("db", env_chat_storage_cosmos_databaseId);
// Add Azure Blob Storage - private endpoints will be created post-deployment
var storage = builder.AddAzureStorage("storage");
var blobStorage = storage.AddBlobs("blobs");
// var chatContainer = storage.AddBlobContainer("blobs","container");
if (isDevelopment)
{
// In development, we can use the CosmosDB Emulator
#pragma warning disable ASPIRECOSMOSDB001 // Type is for evaluation purposes only and is subject to change or removal in future updates
cosmos.RunAsPreviewEmulator(emulator =>
{
emulator.WithDataExplorer();
emulator.WithGatewayPort(8081);
});
#pragma warning restore ASPIRECOSMOSDB001
storage.RunAsEmulator(azurite =>
{
azurite.WithBlobPort(27000);
});
}
if (isPublishing)
{
frontendPort = "80";
webapiPort = "80";
}
var appServicePlan = builder.AddAzureAppServiceEnvironment("appservice-plan");
var apiService = builder.AddProject("webapi")
.WithHttpEndpoint(port: int.Parse(webapiPort), name: "webapi-http")
.WithExternalHttpEndpoints()
.WaitFor(db)
.WaitFor(storage)
.PublishAsAzureAppServiceWebsite((infra, website) =>
{
});
if (!isPublishing)
{
apiService
.WithReference(cosmos)
.WithReference(blobStorage);
}
var frontend = builder.AddJavaScriptApp("frontend", "../../frontend")
.WithHttpEndpoint(env: "PORT", port: int.Parse(frontendPort))
.WithExternalHttpEndpoints()
.WithEnvironment("VITE_API_URL", apiService.GetEndpoint("frontend-http"))
.WaitFor(apiService)
.PublishAsAzureAppServiceWebsite((infra, website) =>
{
});
apiService.WithEnvironment("FrontendCorsOrigin", frontend.GetEndpoint("http"));
if (!isPublishing)
{
frontend
.WithReference(apiService);
}
builder.AddAzureProvisioning();
builder.Build().Run();
Подробнее здесь: https://stackoverflow.com/questions/798 ... -aspire-13
Я не могу развернуть свой интерфейс (Vite) в Aspire 13. ⇐ C#
Место общения программистов C#
-
Anonymous
1766511670
Anonymous
У меня есть серверная часть с базой данных (cosmos DB) и хранилищем (учетная запись хранения Azure) и, наконец, внешнее приложение с реагированием и VITE в моем приложении оркестрации Aspire 13.1.
Я не могу развернуть его через интерфейс командной строки разработчика Azure (azd Deployment или azd Up), я получаю следующую ошибку:
info: Aspire.Hosting.DistributedApplication[0]
Aspire version: 13.1.0+8a4db1775c3fbae1c602022b636299cb04971fde
fail: Aspire.Hosting.Publishing.PipelineExecutor[0]
App Service context not found for resource frontend.
System.InvalidOperationException: App Service context not found for resource frontend.
at Aspire.Hosting.Azure.AzureAppServiceEnvironmentContext.GetAppServiceContext(IResource resource) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentContext.cs:line 30
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.ProcessValue(Object value, SecretType secretType, Object parent, Boolean isSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 149
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.CreateAndConfigureWebSite(AzureResourceInfrastructure infra, BicepValue`1 name, BicepValue`1 appServicePlanParameter, BicepValue`1 acrMidParameter, ProvisioningParameter acrClientIdParameter, ProvisioningParameter containerImage, Boolean isSlot, WebSite parentWebSite, BicepValue`1 deploymentSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 408
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.BuildWebSiteCore(AzureResourceInfrastructure infra, BicepValue`1 deploymentSlot) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 613
at Aspire.Hosting.Azure.AppService.AzureAppServiceWebsiteContext.BuildWebSite(AzureResourceInfrastructure infra) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceWebsiteContext.cs:line 275
at Aspire.Hosting.Azure.AzureProvisioningResource.GetBicepTemplateFile(String directory, Boolean deleteTemporaryFileOnDispose) in /_/src/Aspire.Hosting.Azure/AzureProvisioningResource.cs:line 83
at Aspire.Hosting.Azure.AzureProvisioningResource.GetBicepTemplateString() in /_/src/Aspire.Hosting.Azure/AzureProvisioningResource.cs:line 109
at Aspire.Hosting.Azure.AzureBicepResource.c__DisplayClass0_0.b__1(PipelineConfigurationContext context) in /_/src/Aspire.Hosting.Azure/AzureBicepResource.cs:line 66
at Aspire.Hosting.Pipelines.PipelineConfigurationAnnotation.c__DisplayClass4_0.b__0(PipelineConfigurationContext context) in /_/src/Aspire.Hosting/Pipelines/PipelineConfigurationAnnotation.cs:line 42
at Aspire.Hosting.Azure.AzureAppServiceEnvironmentResource.c__DisplayClass0_0.b__1(PipelineConfigurationContext context) in /_/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs:line 105
at Aspire.Hosting.Pipelines.PipelineConfigurationAnnotation.c__DisplayClass4_0.b__0(PipelineConfigurationContext context) in /_/src/Aspire.Hosting/Pipelines/PipelineConfigurationAnnotation.cs:line 42
at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.ExecuteConfigurationCallbacksAsync(PipelineContext pipelineContext, List`1 allSteps) in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 520
at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.ExecuteAsync(PipelineContext context) in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 348
at Aspire.Hosting.Publishing.PipelineExecutor.ExecutePipelineAsync(DistributedApplicationModel model, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Publishing/PipelineExecutor.cs:line 103
at Aspire.Hosting.Publishing.PipelineExecutor.ExecuteAsync(CancellationToken stoppingToken) in /_/src/Aspire.Hosting/Publishing/PipelineExecutor.cs:line 55
И, наконец, вот мой AppHost.cs:
using Azure.Provisioning.CosmosDB;
using Azure.Provisioning.Storage;
using Microsoft.Extensions.Configuration;
var builder = DistributedApplication.CreateBuilder(args);
// Read from ASPNETCORE_ENVIRONMENT or DOTNET_ENVIRONMENT, falling back to "Production"
var env_environment = builder.Configuration["ASPNETCORE_ENVIRONMENT"]
?? builder.Configuration["DOTNET_ENVIRONMENT"]
?? builder.Configuration["Environment"]
?? "Production";
var isDevelopment = env_environment.ToLower() == "development";
Console.WriteLine($"Environment set to: {env_environment}");
// Detect if running in publish mode
var isPublishing = builder.ExecutionContext.IsPublishMode;
Console.WriteLine($"IsPublishing: {isPublishing}");
var frontendPort = builder.Configuration["Frontend:Port"] ?? "80";
Console.WriteLine($"Frontend will run on port: {frontendPort}");
var webapiPort = builder.Configuration["WebApi:Port"] ?? "80";
Console.WriteLine($"WebApi will run on port: {webapiPort}");
// Add CosmosDB resource - private endpoints will be created post-deployment
var cosmos = builder.AddAzureCosmosDB("cosmos-db");
var db = cosmos.AddCosmosDatabase("db", env_chat_storage_cosmos_databaseId);
// Add Azure Blob Storage - private endpoints will be created post-deployment
var storage = builder.AddAzureStorage("storage");
var blobStorage = storage.AddBlobs("blobs");
// var chatContainer = storage.AddBlobContainer("blobs","container");
if (isDevelopment)
{
// In development, we can use the CosmosDB Emulator
#pragma warning disable ASPIRECOSMOSDB001 // Type is for evaluation purposes only and is subject to change or removal in future updates
cosmos.RunAsPreviewEmulator(emulator =>
{
emulator.WithDataExplorer();
emulator.WithGatewayPort(8081);
});
#pragma warning restore ASPIRECOSMOSDB001
storage.RunAsEmulator(azurite =>
{
azurite.WithBlobPort(27000);
});
}
if (isPublishing)
{
frontendPort = "80";
webapiPort = "80";
}
var appServicePlan = builder.AddAzureAppServiceEnvironment("appservice-plan");
var apiService = builder.AddProject("webapi")
.WithHttpEndpoint(port: int.Parse(webapiPort), name: "webapi-http")
.WithExternalHttpEndpoints()
.WaitFor(db)
.WaitFor(storage)
.PublishAsAzureAppServiceWebsite((infra, website) =>
{
});
if (!isPublishing)
{
apiService
.WithReference(cosmos)
.WithReference(blobStorage);
}
var frontend = builder.AddJavaScriptApp("frontend", "../../frontend")
.WithHttpEndpoint(env: "PORT", port: int.Parse(frontendPort))
.WithExternalHttpEndpoints()
.WithEnvironment("VITE_API_URL", apiService.GetEndpoint("frontend-http"))
.WaitFor(apiService)
.PublishAsAzureAppServiceWebsite((infra, website) =>
{
});
apiService.WithEnvironment("FrontendCorsOrigin", frontend.GetEndpoint("http"));
if (!isPublishing)
{
frontend
.WithReference(apiService);
}
builder.AddAzureProvisioning();
builder.Build().Run();
Подробнее здесь: [url]https://stackoverflow.com/questions/79853862/i-cant-deploy-my-frontend-vite-in-aspire-13[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия