Указанное имя уже используется
При развертывании в Azure начальные развертывания могут завершиться ошибкой, аналогичной следующей.
"Указанное имя уже используется"
В этой статье описано несколько методов, чтобы избежать этой проблемы.
Симптомы
При развертывании проекта .NET Aspire в Azureресурсы в модели приложений в преобразуются в ресурсы Azure. Некоторые Azure ресурсы имеют глобально ограниченные имена, например конфигурацию приложений Azure, где все экземпляры находятся в глобальном пространстве имен [name].azconfig.io
.
Значение [name]
образуется из имени ресурса .NET.NET Aspire, а также случайных символов в зависимости от имени группы ресурсов. Однако созданная строка может превышать допустимую длину имени ресурса в конфигурации приложений. В результате некоторые символы усечены для обеспечения соответствия требованиям.
Если конфликт возникает в глобальном пространстве имен, ресурс не удается развернуть, так как сочетание [name]+[truncated hash]
недостаточно уникально.
Возможные решения
Одно из обходных решений заключается в том, чтобы избежать использования общих имен, таких как appconfig
или storage
для ресурсов. Вместо этого выберите более понятное и конкретное имя. Это снижает потенциал для конфликта, но не полностью устраняет его. В таких случаях можно использовать методы обратного вызова, чтобы задать определенное имя и избежать использования вычисляемой строки в целом.
Рассмотрим следующий пример:
var appConfig = builder.AddAzureAppConfiguration(
"appConfig",
(resource, construct, store) =>
{
store.AssignProperty(p => p.Name, "'noncalculatedname'");
});
.NET Aspire