Partager via


Le nom spécifié est déjà utilisé

Lors du déploiement sur Azure, les déploiements initiaux peuvent échouer avec une erreur similaire à l'exemple suivant :

« Le nom spécifié est déjà utilisé »

Cet article décrit plusieurs techniques pour éviter ce problème.

Symptômes

Lors du déploiement d’un projet .NET Aspire sur Azure, les ressources du modèle d’application sont transformées en ressources Azure. Certaines ressources Azure ont des noms globaux, tels que Azure App Configuration, où toutes les instances se trouvent dans l’espace de noms global [name].azconfig.io.

La valeur de [name] est dérivée du nom de la ressource .NET.NET Aspire, ainsi que des caractères aléatoires en fonction du nom du groupe de ressources. Toutefois, la chaîne générée peut dépasser la longueur autorisée pour le nom de la ressource dans App Configuration. Par conséquent, certains caractères sont tronqués pour garantir la conformité.

Lorsqu’un conflit se produit dans l’espace de noms global, la ressource ne parvient pas à être déployée, car la combinaison de [name]+[truncated hash] n’est pas suffisante.

Solutions possibles

Une solution de contournement consiste à éviter d’utiliser des noms courants tels que appconfig ou storage pour les ressources. Au lieu de cela, choisissez un nom plus explicite et spécifique. Cela réduit le risque de conflit, mais ne l’élimine pas complètement. Dans ce cas, vous pouvez utiliser des méthodes de rappel pour définir un nom spécifique et éviter d’utiliser complètement la chaîne calculée.

Prenons l’exemple suivant :

var appConfig = builder.AddAzureAppConfiguration(
    "appConfig",
    (resource, construct, store) =>
{
    store.AssignProperty(p => p.Name, "'noncalculatedname'");
});