다음을 통해 공유


지정한 이름이 이미 사용 중입니다.

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'");
});