지정한 이름이 이미 사용 중입니다.
Azure에 초기 배포 시, 다음과 유사한 오류가 발생하여 실패할 수 있습니다.
"지정한 이름이 이미 사용 중입니다."
이 문서에서는 이 문제를 방지하기 위한 몇 가지 기술에 대해 설명합니다.
증상
Azure
.NET Aspire 프로젝트를 배포할 때 앱 모델 리소스는 Azure 리소스로 변환됩니다. 일부 Azure 리소스에는, 모든 인스턴스가 [name].azconfig.io
전역 네임스페이스에 속하는 Azure App Configuration처럼, 전역적으로 정의된 이름이 있습니다.
[name]
값은 .NET.NET Aspire 리소스 이름에서 파생되며, 리소스 그룹 이름에 따라 임의의 문자가 추가됩니다. 그러나 생성된 문자열은 App Configuration의 리소스 이름에 허용되는 길이를 초과할 수 있습니다. 따라서 규정 준수를 보장하기 위해 일부 문자가 잘립니다.
전역 네임스페이스에서 충돌이 발생하면 [name]+[truncated hash]
조합이 충분히 고유하지 않기 때문에 리소스를 배포할 수 없습니다.
가능한 솔루션
한 가지 해결 방법은 리소스에 appconfig
또는 storage
같은 일반적인 이름을 사용하지 않도록 하는 것입니다. 대신 더 의미 있고 구체적인 이름을 선택합니다. 이렇게 하면 충돌 가능성이 줄어들지만 완전히 제거되지는 않습니다. 이러한 경우 콜백 메서드를 사용하여 특정 이름을 설정하고 계산된 문자열을 모두 사용하지 않도록 할 수 있습니다.
다음 예제를 고려하세요.
var appConfig = builder.AddAzureAppConfiguration(
"appConfig",
(resource, construct, store) =>
{
store.AssignProperty(p => p.Name, "'noncalculatedname'");
});
.NET Aspire