El nombre especificado ya está en uso
Al realizar implementaciones iniciales en Azure, es posible que se produzca un error similar al siguiente:
"El nombre especificado ya está en uso"
En este artículo se describen varias técnicas para evitar este problema.
Síntomas
Al implementar un proyecto de .NET Aspire en Azure, los recursos del modelo de aplicación de se transforman en recursos de Azure. Algunos recursos Azure tienen nombres de ámbito global, como Azure App Configuration, donde todas las instancias están en el espacio de nombres global [name].azconfig.io
.
El valor de [name]
se deriva del nombre del recurso .NET.NET Aspire, junto con caracteres aleatorios basados en el nombre del grupo de recursos. Sin embargo, la cadena generada puede superar la longitud permitida para el nombre del recurso en App Configuration. Como resultado, algunos caracteres se truncan para garantizar el cumplimiento.
Cuando se produce un conflicto en el espacio de nombres global, el recurso no se puede implementar porque la combinación de [name]+[truncated hash]
no es lo suficientemente única.
Posibles soluciones
Una solución alternativa consiste en evitar el uso de nombres comunes como appconfig
o storage
para los recursos. En su lugar, elija un nombre más significativo y específico. Esto reduce el potencial de conflicto, pero no lo elimina por completo. En tales casos, puede emplear métodos de devolución de llamada para establecer un nombre específico y evitar usar la cadena calculada por completo.
Tenga en cuenta el ejemplo siguiente:
var appConfig = builder.AddAzureAppConfiguration(
"appConfig",
(resource, construct, store) =>
{
store.AssignProperty(p => p.Name, "'noncalculatedname'");
});