Skip To Content

Modifier la structure dans les services de carte

Les champs que contient un jeu de données, ainsi que leurs définitions, forment la structure d’un jeu de données. Si vous modifiez ces éléments, la structure du jeu de données est également modifiée. Un service de carte (couche d’images de carte) utilise le verrouillage de structure par défaut pour empêcher la modification de la structure du jeu de données référencée alors que le service est en cours d’exécution. Le verrouillage de la structure empêche les utilisateurs du service de carte d’être confrontés à des comportements inattendus (couches ou champs manquants, échec de certaines requêtes ou indisponibilité du service).

Dans certains cas, il se peut que vous vouliez modifier la structure d’un jeu de données qui a été publié en tant que service de carte. Par exemple, vous aurez peut-être besoin d’ajouter un nouveau champ à une classe d’entités, de modifier les sous-types appliqués à un champ dans une classe d’entités, d’ajouter ou de supprimer un champ, de modifier des domaines ou de changer la symbologie d’une couche dans la carte à partir de laquelle vous avez effectué la publication. Dans ces cas, il est important de planifier avec soin la modification de structure avant de l’implémenter.

Effectuer des modifications de structure

Il est recommandé de préparer et d’effectuer les changements de structure en planifiant un temps d’arrêt du service dans votre organisation.

Procédez comme suit pour modifier une structure.

  1. Identifiez les services qui accèdent aux jeux de données dont la structure doit être modifiée.

    Pour identifier les jeux de données utilisés par un service, ouvrez l’espace de travail de chaque service dans ArcGIS Server Manager ou, en tant qu’administrateur de site ArcGIS Server, exécutez l’opération du manifeste de service dans l’API REST AdministrateurArcGIS Server.

  2. Connectez-vous à ArcGIS Server Manager.
  3. Arrêtez chaque service affecté.
  4. Apportez une ou plusieurs modifications de structure aux données source.
  5. Démarrez le service dans ArcGIS Server Manager.

Lorsque le service est démarré, il sélectionne les modifications de structure qui ont changé les définitions de champ existantes, comme les modifications apportées au type de données du champ dans la géodatabase ou la base de données, les champs activés pour les sous-types, les sous-types appliqués à un champ, les domaines ajoutés à un champ, les domaines existants modifiés ou les règles attributaires modifiées.

Remarque :

Si vous avez ajouté ou supprimé un champ dans la table source, vous devez remplacer le service de carte.

Modifications au niveau de la carte et services de carte

Pour que les modifications apportées à une carte ou une couche de carte se répercutent dans un service de carte, vous devez remplacer le service de carte.

Les modifications au niveau de la carte sont des modifications apportées à la carte ou aux paramètres de couche de la carte. Ces types de changement comprennent, sans s’y limiter, les éléments suivants :

  • Ajout ou suppression d’une couche, notamment les couches de topologie ou les classes de relations
  • Modification d’un alias de champ dans la couche de carte ou modification de l’alias de la couche de carte
  • Modification de la symbologie, de la transparence ou des propriétés d’étiquetage d’une couche
  • Application d’un rendu dépendant de l’échelle
  • Définition ou modification du modèle de mise à jour (s’applique aux services de carte dont l’accès aux entités est activé)
  • Modification de la définition de la couche, si la source est une couche de requête

Modification du paramètre de verrouillage d’une structure de service de carte

Pour certaines organisations qui sont soumises à des accords de niveau de service (SLA) stricts, des modifications de structure doivent être effectuées tout en permettant toujours l’accès au service de carte. Pour réduire la durée d’immobilisation d’un service de carte, vous pouvez désactiver le verrouillage de structure du service de carte, ce qui vous permet de modifier la structure du jeu de données référencée, sans arrêter le service de carte.

Tenez compte des points suivants avant de désactiver le verrouillage d’une structure :

  • Lorsque le verrouillage de structure est désactivé, il est recommandé de mettre à jour une structure uniquement si un service est inactif. Si vous mettez à jour une structure alors qu’un service est en cours de chargement, les utilisateurs du service de carte peuvent faire face à un comportement inattendu (couches ou champs manquants, échec de certaines requêtes et services indisponibles).
  • La modification du paramètre de verrouillage d’une structure nécessite le redémarrage du service. En outre, pour que les modifications se répercutent si vous désactivez le verrouillage de structure du service, vous devez redémarrer le service de carte une fois les modifications de structure apportées à la définition des champs existants, ou remplacer le service de carte si vous avez ajouté ou supprimé un champ.
  • Vous ne pouvez pas désactiver le verrouillage de structure sur les services de carte configurés de sorte à utiliser le groupe d’instances partagées.

Procédez comme suit pour autoriser les mises à jour de structure alors qu’un service de carte est en cours d’exécution :

  1. Identifiez les services qui accèdent aux jeux de données dont la structure doit être modifiée.

    Pour identifier les jeux de données utilisés par un service, ouvrez l’espace de travail de chaque service dans ArcGIS Server Manager ou, en tant qu’administrateur de site ArcGIS Server, exécutez l’opération du manifeste de service dans l’API REST AdministrateurArcGIS Server.

  2. Connectez-vous à ArcGIS Server Manager.
  3. Confirmez que le service de carte n’est pas utilisé.

    Pour déterminer si un service est inactif, recherchez le service de carte en question dans ArcGIS Server Manager et vérifiez que la valeur du champ Instances in use (Instances utilisées) est zéro.

  4. Cliquez sur Services > Gérer des services.
  5. Recherchez le service de carte, puis cliquez sur Edit (Mettre à jour).

    Remarque :
    Si le service de carte n’apparaît pas dans la liste, recherchez-le dans un sous-dossier du dossier Site (root).

  6. Cliquez sur Parameters (Paramètres).
  7. Désactivez Lock Database Schema (Verrouiller la structure de base de données).
  8. Cliquez sur Save and Restart (Enregistrer et redémarrer).

    Le service de carte ne conserve pas les verrous de structure sur les jeux de données auxquels il fait référence.

    Les modifications de structure peuvent désormais être effectuées pendant que le service de carte est en cours d’exécution.

  9. Pour que le service de carte reflète les modifications, effectuez l’une des opérations suivantes :
    1. Arrêtez et démarrez le service.
    2. Si vous avez ajouté ou supprimé des champs, ou apporté des modifications au niveau de la carte, remplacez le service.
Remarque :

La désactivation du verrouillage de structure pour le service de carte empêche uniquement les verrouillages de structure à partir de ce service. D’autres applications et services ArcGIS, ainsi que des applications tierces peuvent toujours obtenir des verrous exclusifs sur la structure. Si vous ne parvenez pas à mettre à jour la structure sur le jeu de données après avoir désactivé le verrouillage de structure pour le service de carte, reportez-vous à la rubrique Verrous de géodatabase d’entreprise.

Réactivation du verrouillage d’une structure

Pour empêcher que des modifications de structure ne soient effectuées pendant qu’un service est en cours d’exécution, procédez comme suit :

  1. Cliquez sur Services > Gérer des services.
  2. Recherchez le service de carte, puis cliquez sur Edit (Mettre à jour).

    Remarque :
    Si le service de carte n’apparaît pas dans la liste, recherchez-le dans un sous-dossier du dossier Site (root).

  3. Cliquez sur Parameters (Paramètres).
  4. Activez Lock Database Schema (Verrouiller la structure de base de données).
  5. Cliquez sur Save and Restart (Enregistrer et redémarrer).

Le service de carte ne permet plus d’apporter des modifications à la structure du jeu de données référencée pendant que le service est en cours d’exécution.