Résolution des problèmes d’ingestion de données dans Microsoft Planetary Computer Pro

Les problèmes d’ingestion de données dans Microsoft Planetary Computer Pro GeoCatalog se trouvent généralement dans deux catégories : les problèmes d’autorisation d’accès et les erreurs de validation STAC (SpatioTemporal Asset Catalog). Cet article vous aide à identifier et à résoudre ces échecs d’ingestion courants.

Conditions préalables

Symptômes

Les flux de travail d’ingestion de données échouent avec des codes d’erreur spécifiques. Vous pouvez rencontrer deux catégories principales de problèmes :

  1. Erreurs d’accès et d’autorisation : Le processus d’ingestion échoue, car le service GeoCatalog ne peut pas lire les données sources. Vous pouvez voir des codes d’erreur tels que IngestionAuthenticationFailed, IngestionResourceForbiddenou IngestionResourceUriNotFound.
  2. Erreurs de validation STAC : L’ingestion échoue, car les métadonnées STAC fournies ne sont pas conformes aux règles STAC standard ou spécifiques au service. Vous pouvez voir des codes d’erreur tels que StacValidationFailed, InvalidStacCatalogou InvalidInputData.

Identification des erreurs lors de l’ingestion

Pour l’ingestion d’un élément unique, si une erreur d’ingestion se produit, la réponse de l’API ou l’interface utilisateur retourne le code d’erreur.

Capture d’écran d’une erreur d’ingestion d’un seul élément, y compris une mise en surbrillance de l’emplacement où trouver le code d’erreur.

Pour l’ingestion en bloc, les erreurs peuvent être différentes pour chacun des éléments STAC individuels. Pour afficher les erreurs individuelles, accédez au portail Azure et recherchez les paramètres de diagnostic de votre ressource GeoCatalog. Ici, vous pouvez activer les journaux d’ingestion.

Capture d’écran de la recherche de GeoCatalogs dans le portail Azure.

Une fois la journalisation activée, réessayez d’ingestion. Si l’ingestion échoue, accédez à l’emplacement que vous avez spécifié dans les paramètres de diagnostic pour passer en revue les erreurs.

Cause 1 : GeoCatalog ne peut pas accéder aux données sources

Le service GeoCatalog ne dispose pas des autorisations nécessaires pour lire vos métadonnées STAC (par exemple catalog.json) et les ressources de données associées (par exemple, les fichiers GeoTIFF). Cette erreur est due au fait qu’une source d’ingestion valide n’est pas configurée pour l’emplacement de stockage. Les sources d’ingestion doivent être configurées pour les fichiers de métadonnées et les fichiers de ressources s’ils sont configurés à différents emplacements.

Solution 1 : Configurer les autorisations de source d’ingestion

  1. Vérifier que la source d’ingestion existe

    • Accédez à l’onglet Paramètres de Votre GeoCatalog
    • Vérifiez si une source d’ingestion est configurée pour votre conteneur de stockage
    • Si ce n’est pas le cas, créez une source d’ingestion
  2. Valider les informations d’identification

    Pour l’identité managée :

    • Vérifiez que l’identité managée a le rôle Lecteur de données Blob de stockage
    • Vérifiez que l’attribution de rôle se situe au niveau correct (compte de stockage ou niveau conteneur)
    • Vérifiez que l’identité managée est associée à votre GeoCatalog

    Pour les jetons SAP :

    • Vérifier que le jeton n’a pas expiré
    • Vérifier que le jeton a les autorisations read et list
    • Vérifiez que le jeton est limité au conteneur approprié
  3. Vérifier l’accès à tous les emplacements requis

    Diagramme d’un catalogue STAC montrant la hiérarchie où GeoCatalog a besoin d’un accès.

    L’ingestion en bloc prend en charge les catalogues STAC statiques qui référencent les ressources situées dans le stockage au-delà du conteneur dans lequel le catalog.json fichier est stocké. Toutefois, chaque conteneur de stockage nécessite une source d’ingestion pour GeoCatalog afin de conserver les autorisations d’ingestion des données.

    Vérifiez que GeoCatalog dispose des autorisations nécessaires pour :

    • Fichier JSON du catalogue STAC
    • Tous les fichiers JSON de l’élément STAC
    • Tous les fichiers d'actifs référencés dans les éléments STAC
  4. Nouvelle tentative d’ingestion : Après avoir vérifié et corrigé la configuration source d’ingestion, réessayez l’ingestion.

Cause 2 : Échec de la validation des métadonnées STAC

Le service d’ingestion applique strictement la spécification STAC. Votre ingestion échoue si votre catalogue, collection ou élément STAC n’est pas conforme à la norme ou qu'il ne répond pas aux exigences spécifiques de GeoCatalog.

Solution 2.1 : Corriger le format et les valeurs STAC non valides

  1. Valider localement : Avant l'importation, utilisez une bibliothèque comme pystac pour valider vos objets STAC. Cette approche peut détecter de nombreux problèmes de mise en forme courants avant d’ingérer des données.

  2. Vérifier les champs obligatoires :

    • Vérifiez que tous les champs STAC obligatoires sont présents dans vos métadonnées.
    • Pour l'ingestion d'un seul élément, l'élément STAC JSON doit inclure le collection champ, avec sa valeur définie à l'ID de la collection cible dans votre GeoCatalog.
  3. Format Datetime : Vérifiez que tous les datetime champs sont conformes à la norme ISO 8601 (par exemple). YYYY-MM-DDTHH:MM:SSZ La pystac bibliothèque fournit des utilitaires pour mettre en forme correctement les datetimes.

  4. Vérifiez les caractères et longueurs non valides :

    • STAC Item IDs, et Asset keys:
      • Doit contenir uniquement les caractères suivants :
        • Lettres : A-Z, a-z
        • Chiffres : 0-9
        • Symboles : -, , +_, ,(, , ).
      • Tous les autres caractères ne sont pas valides.
      • Item IDs doit comporter moins de 150 caractères.
      • Asset keys doit comporter moins de 256 caractères.
    • STAC Collection IDs:
      • Doit contenir uniquement les caractères suivants :
        • Lettres : A-Z, a-z
        • Chiffres : 0-9
        • Symboles : -, _, .
      • Tous les autres caractères ne sont pas valides
      • Collection IDs doit comporter moins de 243 caractères.
  5. Nouvelle tentative d’ingestion : Après avoir corrigé les métadonnées STAC, réessayez d’ingestion.

Solution 2.2 : Simplifier les extensions STAC

  1. Identifier les extensions : Vérifiez si vos éléments STAC utilisent des extensions STAC. Bien qu’ils soient puissants, ils ajoutent de la complexité à la validation, et beaucoup ne sont pas dans un état finalisé.
  2. Supprimer les extensions non essentielles : Si vous soupçonnez qu’une extension provoque une StacValidationFailed erreur, essayez de la supprimer de la liste de stac_extensions votre élément STAC et de tous les champs associés.
  3. Revalidez et réessayez : Validez l’élément STAC simplifié localement, puis réessayez l’ingestion.