Partager via


Résoudre les erreurs courantes du kit de ressources FinOps

Cet article décrit les erreurs courantes du kit de ressources FinOps et fournit des informations sur les solutions. Si vous recevez une erreur lors de l’utilisation de solutions finOps toolkit que vous ne comprenez pas ou que vous ne pouvez pas résoudre, recherchez le code d’erreur correspondant suivant avec les étapes d’atténuation pour résoudre le problème.

Voici la liste des codes d’erreur courants avec les informations d’atténuation associées.

Si les informations fournies ne résolvent pas le problème, essayez le guide de résolution des problèmes.


L’accès à la ressource est interdit

Gravité : critique

Cette erreur signifie généralement que le compte auquel vous êtes connecté n’a pas accès à la ressource que vous tentez d’utiliser.

Prévention : vérifiez que vous utilisez le compte approprié dans le locataire Microsoft Entra ID correcte.


La propriété du compte ne peut pas être mise à jour

Gravité : critique

Cette erreur se produit généralement lors de la mise à jour d’un déploiement de hub FinOps avec une configuration de compte de stockage différente de celle utilisée à l’origine lors de la création. Bien que la plupart des propriétés puissent être modifiées, il existe quelques propriétés qui ne peuvent être définies qu’une seule fois lorsque le compte de stockage est créé et ne peuvent pas changer. L’un des cas connus pour FinOps Hubs est la propriété « requireInfrastructureEncryption ». Si cette propriété a été activée ou désactivée pendant le premier déploiement du hub FinOps, elle ne peut pas être modifiée. L’erreur suivante s’affiche quand cela se produit :

La propriété 'requireInfrastructureEncryption' a été spécifiée dans l’entrée, mais elle ne peut pas être mise à jour car elle est en lecture seule.

Prévention : si vous n'entendiez pas modifier ce paramètre, vérifiez si votre compte de stockage est configuré pour utiliser le chiffrement de l’infrastructure et redéployez le modèle de hub FinOps avec la même valeur (activé ou désactivé). Si vous souhaitez modifier le paramètre, nous vous recommandons de déployer une nouvelle instance de hub FinOps, car cela nécessite la réutilisation de toutes les données.

Vous pouvez essayer de supprimer le compte de stockage existant et de redéployer le modèle avec le chiffrement de l’infrastructure modifié ; cependant, nous n’avons pas soigneusement testé cela. Même si nous ne prévoyons pas de problèmes, nous ne pouvons pas confirmer s’il provoquera des problèmes.


BadHubVersion

Gravité : critique

FinOps Hubs 0.2 n’est pas opérationnel. Effectuez une mise à niveau vers la version 0.3 ou ultérieure.

Prévention : mise à niveau vers la dernière version de FinOps hubs.


La colonne 'id' dans la table 'Resources' contient une valeur en double

Gravité : critique

Si vous rencontrez l’erreur suivante, cela signifie qu’Azure Resource Graph retourne des lignes avec la même valeur logique pour la colonne ID . Cela peut se produire lorsque la casse des valeurs de l’ID de ressource est incohérente ou lorsqu’une autre colonne s'étend sur plusieurs lignes.

La colonne 'id' dans la table 'Resources' contient une valeur en double '{resource-id}' et cela n’est pas autorisé pour les colonnes du côté un d’une relation plusieurs-à-un ou pour les colonnes utilisées comme clé primaire d’une table.

Atténuation : vérifiez que vous êtes sur la dernière version du rapport. Identifiez la cause des valeurs dupliquées et mettez à jour la requête pour contourner les valeurs dupliquées. Signalez également ce problème dans GitHub afin qu’il puisse être résolu dans une prochaine version. Cela peut nécessiter des détails supplémentaires ou une réunion pour résoudre la cause de l’erreur.


Erreur de conflit

Gravité : critique

Il peut y avoir plusieurs instances de cette erreur. L’instance connue est quand Key Vault retourne l’erreur suivante :

Un coffre portant le même nom existe déjà dans l’état supprimé. Vous devez récupérer ou vider le coffre de clés existant. Suivez ce lien https://go.microsoft.com/fwlink/?linkid=2149745 pour plus d’informations sur la suppression réversible.

Cela signifie généralement que vous déployez par-dessus un ancien déploiement qui a été supprimé, mais Key Vault a conservé l’ancienne instance de coffre dans un état de suppression réversible.

Prévention : pour résoudre ce problème, videz le coffre de clés supprimé dans le portail Azure.

  1. Ouvrez la liste des instances Key Vault dans le portail Azure.
  2. Sélectionnez la commande Gérer les coffres supprimés située en haut de la page.
  3. Sélectionnez l’abonnement dans la liste déroulante.
  4. Vérifiez les coffres à supprimer.
  5. Sélectionnez Vider en bas du menu volant.
  6. Sélectionnez Supprimer dans la boîte de dialogue de confirmation.

Vous pouvez maintenant réessayer le déploiement.


CoûtContractuelInférieurAuCoûtEffectif

Gravité : avertissement

ContractedCost (selon les remises négociées) est inférieur à EffectiveCost (après les remises d’engagement) selon les données de Cost Management. Cela ne devrait jamais se produire, sauf si la réduction d’engagement offre un rabais inférieur à vos remises négociées existantes. Cela entraînera une imprécision dans vos calculs d’économies.

Atténuation : vérifiez que les ContractedUnitPrice données de coût correspondent aux données de prix. Si le prix contracté est correct, déposez une demande de support auprès de l’équipe de gestion des coûts pour confirmer que x_EffectiveUnitPrice et EffectiveCost sont corrects. S'ils sont corrects, envisagez de restaurer la réduction d'engagement.


La politique d’accès inter-entreprises n’autorise pas cet utilisateur

Gravité : Majeure

Si vous rencontrez l’erreur suivante, cela signifie que l’ID Microsoft Entra est configuré pour ne pas autoriser les utilisateurs d’autres locataires à se connecter au locataire actuel.

Message : AADSTS500213 : la politique d’accès inter-locataire du locataire de la ressource n’autorise pas cet utilisateur à accéder à ce locataire.

Ce message d’erreur n’est pas lié au kit de ressources FinOps.

Atténuation : vérifiez que vous êtes bien connecté au bon compte et que vous avez effectué la connexion via le répertoire cible. Contactez l’administrateur de l’annuaire si vous avez besoin d’aide supplémentaire.


Échec de l'ingestion par DataExplorer

Gravité : critique

Échec de l’ingestion des données par l'explorateur. Les nouvelles données ne seront pas disponibles pour l'élaboration de rapports.

Prévention : passez en revue le message d’erreur de l’Explorateur de données et résolvez le problème. Réexécutez l’ingestion de données pour le dossier spécifié à l’aide du pipeline ingestion_ExecuteETL dans Azure Data Factory. Signaler des problèmes non résolus à https://aka.ms/ftk/ideas.


ÉchecDuMappingD'IngestionDeDataExplorer

Gravité : critique

Impossible de créer le mappage d’ingestion de l’Explorateur de données pour la table spécifiée.

Prévention : corrigez l’erreur et réexécutez l’ingestion pour le chemin d’accès du dossier spécifié. Si vous continuez à voir cette erreur, signalez un problème à https://aka.ms/ftk/ideas.


DataExplorerIngestionTimeout

Gravité : critique

L’ingestion de l’Explorateur de données a été interrompue après 2 heures dans l’attente de capacité disponible.

Prévention : Veuillez réexécuter ce pipeline pour réessayer l'ingestion de données. Si vous continuez à voir cette erreur, signalez un problème à https://aka.ms/ftk/ideas.


ErreurD'échecDeSuppressionPostIngérenceDansDataExplorer

Gravité : critique

Échec du processus de nettoyage post-ingestion de l’Explorateur de données (suppression des étendues de la table finale). Les données d’une ingestion précédente peuvent être présentes dans les rapports, ce qui peut entraîner des coûts dupliqués et imprécis.

Prévention : passez en revue le message d’erreur de l’Explorateur de données et résolvez le problème. Réexécutez l’ingestion des données pour le dossier spécifié à l’aide du pipeline ingestion_ExecuteETL dans Azure Data Factory. Signaler des problèmes non résolus à https://aka.ms/ftk/ideas.


DataExplorerPreIngestionDropFailed

Gravité : critique

Échec du nettoyage avant ingestion par l’Explorateur de données (suppression des étendues de la table brute). L’ingestion n’a pas été terminée.

Prévention : passez en revue le message d’erreur de l’Explorateur de données et résolvez le problème. Réexécutez l’ingestion des données pour le dossier spécifié à l’aide du pipeline ingestion_ExecuteETL dans Azure Data Factory. Signaler des problèmes non résolus à https://aka.ms/ftk/ideas.


ÉvaluationDuRésultatDeDéploiementÉchouée

Gravité : Majeure

FinOps hubs 0.8 définit le paramètre de sécurité « trustedExternaltenants » d’Azure Data Explorer pour verrouiller le cluster afin qu’il puisse uniquement être accessible à partir de locataires spécifiques et approuvés. Ce paramètre peut être défini pour le premier déploiement, mais ne peut pas être à nouveau défini dans un deuxième déploiement. Vous pouvez voir l’erreur suivante si vous essayez de redéployer FinOps Hubs 0.8 au-dessus d’un déploiement 0.8 existant :

La sortie du modèle « clusterUri » n’est pas valide : la propriété d’expression de langage 'uri' n’existe pas, les propriétés disponibles sont « trustedExternalTenants, enableStreamingIngest, publicNetworkAccess, enableAutoStop, provisioningState ».

Nous effectuons un suivi avec l’équipe Azure Data Explorer afin d’identifier la résolution correcte.

Atténuation : déployer des hubs FinOps 0.9. Ce paramètre a été supprimé du modèle.


DonnéesD'ExportationIntrouvables

Gravité : critique

Les exportations n’ont pas été trouvées dans le chemin de stockage spécifié.

Prévention : vérifiez qu’une exportation Cost Management a été créée et configurée avec le compte de stockage, le conteneur et le chemin de stockage appropriés. Après avoir créé, sélectionnez « Exécuter maintenant » pour démarrer le processus d’exportation. Les exportations peuvent prendre 15 à 30 minutes en fonction de la taille du compte. Si vous souhaitez utiliser des hubs FinOps, corrigez l’URL de stockage pour pointer vers le conteneur « ingestion ». Reportez-vous à la storageUrlForPowerBI sortie du déploiement du hub FinOps pour obtenir l’URL complète.


TypeD'ExportNonDéfini

Gravité : critique

Ce type d’étendue de facturation n’est pas pris en charge par les exportations gérées.

Atténuation : supprimez l’étendue de facturation non prise en charge de settings.json, vérifiez que l’étendue de facturation est prise en charge par les hubs FinOps et créez manuellement de nouvelles exportations de gestion des coûts pour l’étendue de facturation.


Type d'exportation non pris en charge

Gravité : critique

Les contrats client Microsoft ne sont pas pris en charge pour les exportations gérées.

Prévention : supprimez l’étendue de facturation MCA de settings.json et créez manuellement de nouvelles exportations Cost Management pour chaque profil de facturation MCA pour le coût FOCUS, la feuille de prix, les détails de la réservation, les transactions de réservation et les recommandations de réservation.


HubDataNotFound

Gravité : critique

Les données du hub FinOps n’ont pas été trouvées dans le compte de stockage spécifié.

Prévention : cette erreur suppose que vous vous connectez à un déploiement de hub FinOps. Si vous utilisez des exportations brutes, corrigez le chemin d’accès de stockage pour ne pas référencer le conteneur ingestion. Vérifiez les points suivants :

  1. L’URL de stockage doit correspondre à la StorageUrlForPowerBI sortie du déploiement du hub FinOps.
  2. Les exportations Cost Management doivent être configurées pour pointer vers le même compte de stockage à l’aide du msexports conteneur.
  3. Les exportations de Cost Management doivent indiquer une exportation réussie dans l’historique des exécutions.
  4. Les déclencheurs Data Factory du hub FinOps doivent tous être démarrés.
  5. Les pipelines de FinOps Hub Data Factory doivent réussir.

Pour plus d’informations et des étapes de débogage, consultez Valider le déploiement de votre hub FinOps.


Fichiers d'ingestion introuvables

Gravité : critique

Impossible de localiser les fichiers Parquet à ingérer à partir du chemin de dossier spécifié.

Prévention : vérifiez que le chemin d’accès au dossier est le chemin complet, y compris le conteneur d’ingestion et qu’il ne commence ni ne se termine par une barre oblique (/). Copiez le chemin d’accès à partir de la dernière exécution réussie du pipeline ingestion_ExecuteETL.


ErreurInterneDuService

Microsoft Fabric Real-Time Intelligence peut retourner un code d’erreur « InternalServiceError (520-UnknownError) » lors de l’ingestion de données. Le message d’erreur détaillé peut indiquer :

Le client Kusto n’a pas pu envoyer une demande au service : « Impossible de lire les données à partir de la connexion de transport : une connexion existante a été fermée de force par l’hôte distant. » `

La raison exacte de cette erreur est inconnue. Si vous en avez l’expérience, envoyez une demande de support auprès de Microsoft Fabric pour approfondir vos recherches.

Atténuation : pour contourner ce problème, modifiez la consommation minimale du Fabric eventhouse à Moyen (18 CUs), attendez 30 minutes, et réexécutez le pipeline ingestion_ExecuteETL pour le jeu de données et le mois concernés. Pour en savoir plus sur la consommation minimale, consultez La consommation minimale dans la vue d’ensemble de l’eventhouse.


CoûtEffectifInvalide

Gravité : Majeure

À compter de novembre 2024, Cost Management a un bogue connu dans lequel les achats de plan d’épargne sont suivis en interne en tant que coûts réels et amortis. Pour cette raison, FOCUS inclut des achats de plan d’épargne dans le calcul de EffectiveCost, ce qui entraîne des nombres incorrects dans les rapports de boîte à outils FinOps.

Atténuation: Soumettez une demande de support auprès de l’équipe Microsoft Cost Management avec des détails sur le problème afin de corriger les données sous-jacentes. Depuis novembre 2024, l’équipe est consciente du problème, mais le correctif n’a pas encore été hiérarchisé. Dans l’intervalle, mettez à jour le kit de ressources FinOps 0.7, qui inclut une solution de contournement pour les hubs FinOps et les rapports Power BI basés sur le stockage.


ConteneurD'ExportationInvalide

Gravité : critique

Ce fichier semble provenir de Cost Management, mais il n’est pas dans le conteneur correct.

Mesure d'atténuation : Mettez à jour votre export Cost Management pour qu’il pointe vers le conteneur de stockage « msexports ». Le conteneur « ingestion » est utilisé uniquement pour interroger les données de coût ingérées.


Version d'exportation invalide

Gravité : critique

Les hubs FinOps nécessitent des exportations de coûts FOCUS, mais ce fichier semble être une exportation héritée de Cost Management.

Prévention : créez une exportation Cost Management pour le coût FOCUS et arrêtez l’exportation actuelle ou modifiez-la pour l’exporter vers un autre conteneur de stockage.


Version de Hub invalide

Gravité : critique

FinOps hubs 0.1.1 et versions antérieures ne fonctionnent pas avec le rapport Power BI d’ingestion des données.

Atténuation : effectuez une mise à niveau vers la dernière version des hubs FinOps ou téléchargez des rapports Power BI à partir de la version 0.1.1.


InvalidScopeId

Gravité : à titre d’information

Le chemin d’exportation n’est pas un ID d’étendue valide. Les hubs FinOps s’attendent à ce que le chemin d’exportation soit un ID de ressource Azure pour le périmètre pour lequel l’exportation a été créée, afin de simplifier la gestion. Il ne devrait pas provoquer d’échecs, mais pourrait entraîner des résultats déroutants pour les rapports liés à la portée.

Prévention : mettez à jour le chemin de stockage de l’exportation Cost Management pour utiliser l’ID de ressource Azure complet pour le champ d’application.


LegacyFocusVersion

Gravité : à titre d’information

Ce code d’erreur s’affiche lorsque les données ingérées utilisent une version antérieure de FOCUS. Lorsqu’il se trouve dans la x_SourceChanges colonne, le code est informationnel uniquement. Lorsqu'affichée dans les rapports de stockage Power BI, lorsque la requête Coûts ne parvient pas à se charger, cela signifie que le paramètre Obsolète : Activer les optimisations supplémentaires des requêtes est désactivé.

FinOps Hubs convertit les données en version FOCUS la plus récente afin de ne pas provoquer de problème ; toutefois, la transformation de modernisation ne peut pas tenir compte de tous les scénarios et peut entraîner des résultats inattendus dans certains cas. Reportez-vous à la documentation relative aux problèmes connus.

Atténuation : il existe plusieurs façons d’atténuer ce message, en fonction de l’outil que vous utilisez.

Si vous utilisez des hubs FinOps avec l’Explorateur de données et que vous voyez cela dans la colonne de la x_SourceChanges table Coûts ou des fonctions associées, mettez à jour les exportations de coûts Cost Management pour utiliser la dernière version FOCUS. Aucune modification supplémentaire n'est nécessaire car toutes les données seront fusionnées lors de l'ingestion par Data Explorer.

Si vous utilisez des rapports de stockage et voyez-le dans la colonne de la x_SourceChanges requête Coûts, ce message est un avertissement indiquant que cette version FOCUS sera supprimée dans une prochaine mise à jour. Bien que vous puissiez ignorer ce message en toute sécurité, il nécessite une mise à jour dans une prochaine version. Pour éviter le message, mettez à jour les exportations Cost Management vers la dernière version FOCUS, supprimez ou déplacez les données antérieures à l’aide d’une version FOCUS antérieure et réexportez les données historiques. Si vous utilisez des hubs FinOps, supprimez ou déplacez des données en dehors du conteneur d’ingestion . Si vous hébergez vos propres exportations dans le stockage, remplacez le paramètre d’URL de stockage par un autre chemin d’accès de dossier qui n’inclut pas les versions antérieures de FOCUS.

À partir de FinOps toolkit 0.7, la prise en charge des versions antérieures de FOCUS a été déconseillée pour améliorer les performances et la scalabilité. Nous vous recommandons de mettre à jour vers la dernière version focus et de réexporter les données pour améliorer votre expérience. Définissez le paramètre Déconseillé : effectuer des optimisations supplémentaires de requête sur TRUE afin de prendre en charge les versions antérieures de FOCUS, et définissez-le sur FALSE pour accélérer les performances et prendre en charge des ensembles de données plus volumineux couvrant plus de coûts ou de temps. À compter de la version 0.7, ce paramètre est activé par défaut pour la compatibilité descendante. Dans finOps toolkit 0.8, il sera désactivé par défaut, mais toujours disponible pour la compatibilité descendante jusqu’à juin 2025. Si vous ne pouvez pas quitter les anciennes versions focus ou pour obtenir les meilleures performances et la prise en charge des comptes plus volumineux ou des périodes plus longues, nous vous recommandons d’utiliser des hubs FinOps avec Data Explorer.


CoûtDeListeInférieurAuCoûtContracté

Gravité : avertissement

ListCost (selon les prix publics, au détail) est inférieur à ContractedCost (en fonction des remises négociées) dans les données de Cost Management. Cela ne devrait jamais se produire. Cela entraînera une imprécision dans vos calculs d’économies.

Atténuation : vérifiez que les ListUnitPrice données de coût correspondent aux données de prix. Si le prix de la liste est correct, faites une demande de support auprès de l’équipe Cost Management pour confirmer que le ListUnitPrice et le ContractedUnitPrice sont corrects et expliquer pourquoi le prix, après les remises négociées, serait supérieur aux tarifs publics de vente au détail.


ManifestReadFailed

Gravité : critique

Le hub FinOps msexports_ExecuteETL pipeline n’a pas pu lire le fichier manifeste Cost Management.

Prévention :

  1. Si l’erreur s’est produite sur une instance de hub de travail lorsqu’aucune modification n’a été apportée au hub ou à l’exportation, Cost Management a peut-être modifié le schéma de manifeste pour une version d’API existante.
  2. Si l’erreur s’est produite après avoir créé une exportation existante ou modifié, la version de l’API d’exportation peut utiliser un nouveau schéma de manifeste non pris en charge.
  3. Si l’erreur s’est produite après un déploiement de hub (installation initiale ou mise à niveau), le déploiement a peut-être échoué ou il peut y avoir un bogue dans le pipeline.

Pour confirmer le schéma de manifeste (#1) ou la version de l’API (#2) :

  1. Ouvrez le compte de stockage du hub dans le Portail Azure ou l’explorateur de stockage.
  2. Dans le portail Azure, accédez au Navigateur de stockage dans le menu.
  3. Sélectionnez le conteneur msexports .
  4. Descendez dans la hiérarchie des fichiers pour localiser l'exportation ayant le problème (voir l'emplacement du manifeste dans le message d'erreur).
  5. Recherchez le fichier manifest.json et sélectionnez le menu (), puis sélectionnez Affichage/modification.
  6. Identifiez les propriétés suivantes :
    {
      "exportConfig": {
        "resourceId": "<scope-id>/providers/Microsoft.CostManagement/exports/<export-name>",
        "dataVersion": "<dataset-version>",
        "apiVersion": "2023-07-01-preview",
        "type": "<dataset-type>",
        ...
      },
      ...
    }
    
  7. Vérifiez qu’ils sont définis sur les valeurs prises en charge suivantes :
    • resourceId peut être n’importe quel ID d’étendue et n’importe quel nom d’exportation, mais il doit exister avec le type de ressource « Microsoft.CostManagement/export ». Ne respecte pas la casse.
    • type doit exister, mais ne doit pas rencontrer cette erreur pour une valeur non nulle.
    • dataVersion doit exister, mais ne doit pas échouer avec cette erreur pour une valeur non null.
    • apiVersion n’est pas utilisé explicitement, mais peut signer les modifications apportées au schéma de manifeste. Pour plus d’informations, consultez les versions d’API prises en charge.
  8. Si vous utilisez une version d’API plus récente :
    1. Pour suivre la prise en charge de l’ajout de la nouvelle version de l’API, créez un problème de demande de modification dans GitHub.
    2. Supprimez l’exportation dans Cost Management.
    3. Créez une exportation à l'aide de la commande PowerShell New-FinOpsCostExport en utilisant une version d’API prise en charge.

      Conseil

      Si vous vous considérez comme un utilisateur avancé, vous pouvez essayer de mettre à jour le pipeline vous-même pour une résolution plus rapide. Pour ce faire, ouvrez Data Factory, accédez à Author > Pipelines > msexports_ExecuteETL, puis sélectionnez les activités « Set » applicables et mettez à jour la propriété Settings>Value si nécessaire. Si vous effectuez cette opération, vous n’avez pas besoin de recréer l’exportation avec une version antérieure. Signalez toujours le problème et envisagez de partager le nouveau JSON à partir de l’icône {} en haut à droite du pipeline designer._

  9. Si vous remarquez que les propriétés ont changé pour une version d’API prise en charge :
    1. Pour suivre le changement cassant, créez un problème de requête de modification sur GitHub. Incluez le type, dataVersion et apiVersion à partir de votre fichier manifest.json.
    2. Déposez une demande de support auprès de Cost Management pour demander la réversion de leur modification, car elle perturbe tous ceux utilisant des hubs FinOps ou d’autres solutions personnalisées. Incluez les détails suivants pour aider l’équipe du support technique Cost Management à identifier le problème au sein de son système. Cost Management n’a pas de contexte sur les hubs FinOps. Vous devez donc garder les détails axés sur les fonctionnalités Cost Management. Prenons un exemple :

      J’utilise des exportations Cost Management pour extraire mes données de coût dans ADLS. J’ai un pipeline ADF qui traite les données lorsque des fichiers manifestes sont écrits. Mon pipeline a été construit sur la version <your-supported-api-version> de l'API, qui s'attend à ce que les propriétés exportConfig.resourceId, exportConfig.type et exportConfig.dataVersion soient livrées de manière cohérente. J’ai remarqué que ces fichiers ne sont pas inclus dans le fichier manifeste pour cette version d’API pour mon exportation qui s’est exécutée sur <your-export-date>. Je m’attends à ce que le fichier manifeste ne change jamais pour une version d’API existante. Pouvez-vous rétablir ces modifications ?

      Pour vous aider à résoudre les problèmes, voici mon fichier manifeste : {your-manifest-json}

Si les propriétés du manifeste sont correctes et qu’il s’agissait d’une instance du hub FinOps nouvelle ou mise à niveau, confirmez le déploiement :

  1. Ouvrez le groupe de ressources hub dans le Portail Azure.
  2. Sélectionnez Paramètres>déploiements dans le menu de gauche.
  3. Vérifiez que tous les déploiements réussissent. Plus précisément, recherchez les noms de déploiement suivants :
    • principal
    • pôle
    • RessourcesDeLaFabriqueDeDonnées
    • stockage
    • keyVault
  4. Si des déploiements ont échoué, passez en revue le message d’erreur pour déterminer s’il s’agit d’un élément que vous pouvez résoudre vous-même (par exemple, conflit de noms, violation de stratégie réparable).
  5. Si l’erreur semble temporaire, réessayez de déployer.
  6. Si l’erreur persiste, créez une discussion pour voir si quelqu’un d’autre rencontre un problème ou connaît une solution de contournement possible (en particulier pour les problèmes de stratégie).
  7. Si l’erreur est clairement un bogue ou un écart de fonctionnalité, créez un problème de bogue ou de demande de fonctionnalité dans GitHub.

Nous essayons de répondre aux questions et aux discussions dans les deux jours ouvrables.


Coût contracté manquant

Gravité : à titre d’information

Ce code d’erreur s’affiche dans la x_SourceChanges colonne lorsque ContractedCost la valeur est null ou 0 et EffectiveCost est supérieure à 0. L’erreur indique que Microsoft Cost Management n’a pas inclus ContractedCost pour les lignes spécifiées, ce qui signifie que les économies ne peuvent pas être calculées.

Prévention : pour contourner le problème des données manquantes, les rapports de l’outil FinOps copient EffectiveCost dans la colonne ContractedCost pour les lignes avec ce code d’erreur signalées. Les économies ne sont pas disponibles pour ces enregistrements.

Pour calculer des économies complètes, vous pouvez joindre des données de coût et d’utilisation avec des prix. Pour plus d’informations, consultez le problème #873.


PrixUnitaireContractuelManquant

Gravité : à titre d’information

Ce code d’erreur s’affiche dans la x_SourceChanges colonne lorsque ContractedUnitPrice la valeur est null ou 0 et EffectiveUnitPrice est supérieure à 0. L’erreur indique que Microsoft Cost Management n’a pas inclus ContractedUnitPrice pour les lignes spécifiées, ce qui signifie que les économies ne peuvent pas être calculées.

Prévention : pour contourner le problème des données manquantes, les rapports de l’outil FinOps copient EffectiveUnitPrice dans la colonne ContractedUnitPrice pour les lignes avec ce code d’erreur signalées. Les économies ne sont pas disponibles pour ces enregistrements.

Pour calculer des économies complètes, vous pouvez joindre des données de coût et d’utilisation avec des prix. Pour plus d’informations, consultez le problème #873.


MissingListCost

Gravité : à titre d’information

Ce code d’erreur s’affiche dans la x_SourceChanges colonne lorsque ListCost la valeur est null ou 0 et ContractedCost est supérieure à 0. L’erreur indique que Microsoft Cost Management n’a pas inclus ListCost pour les lignes spécifiées, ce qui signifie que les économies ne peuvent pas être calculées.

Prévention : pour contourner le problème des données manquantes, les rapports de l’outil FinOps copient ContractedCost dans la colonne ListCost pour les lignes avec ce code d’erreur signalées. Les économies ne sont pas disponibles pour ces enregistrements.

Pour calculer des économies complètes, vous pouvez joindre des données de coût et d’utilisation avec des prix. Pour plus d’informations, consultez le problème #873.


PrixUnitaireListeManquant

Gravité : à titre d’information

Ce code d’erreur s’affiche dans la x_SourceChanges colonne lorsque ListUnitPrice la valeur est null ou 0 et ContractedUnitPrice est supérieure à 0. L’erreur indique que Microsoft Cost Management n’a pas inclus ListUnitPrice pour les lignes spécifiées, ce qui signifie que les économies ne peuvent pas être calculées.

Prévention : pour contourner le problème des données manquantes, les rapports de l’outil FinOps copient ContractedUnitPrice dans la colonne ListUnitPrice pour les lignes avec ce code d’erreur signalées. Les économies ne sont pas disponibles pour ces enregistrements.

Pour calculer des économies complètes, vous pouvez joindre des données de coût et d’utilisation avec des prix. Pour plus d’informations, consultez le problème #873.


NomDuFournisseurManquant

Gravité : à titre d’information

Ce code d’erreur s’affiche dans la colonne x_SourceChanges lorsque ProviderName a la valeur Null. L’erreur indique que le fournisseur du jeu de données (par exemple, Microsoft Cost Management) n’a pas inclus de ProviderName valeur pour les lignes spécifiées.

Mesures d'atténuation: Pour contourner les données manquantes, les rapports du FinOps toolkit essayent d’identifier le fournisseur à partir des colonnes disponibles.


Requête '...' référence d’autres requêtes ou étapes

Gravité : mineure

La source de cette erreur est inconnue. Cette erreur peut être exposée de manière aléatoire lors de l’actualisation des données Power BI.

Atténuation : si vous recevez cette erreur, sélectionnez Appliquer à nouveau la modification.

Cette erreur n’a été signalée que dans les rapports de stockage. Si vous avez des temps d’actualisation de données longs ou que vous rencontrez souvent cette erreur, envisagez de basculer vers des hubs FinOps avec Data Explorer. L’Explorateur de données utilise des rapports KQL qui ne nécessitent pas de planification ou d’actualisation incrémentielle. Les données sont extraites lorsque le rapport est ouvert, de sorte que les rapports affichent toujours les données les plus récentes.


ExceptionAccèsRessourceInterdit

Gravité : Majeure

Power BI : une exception du type « Microsoft.Mashup.Engine.Interface.ResourceAccessForbiddenException » a été levée

Indique que le compte qui charge les données dans Power BI n’a pas le rôle Lecteur de données Blob de stockage. Accordez ce rôle au compte qui charge les données dans Power BI.


La taille de la charge utile de réponse est... et a dépassé la limite

Gravité : Majeure

Les requêtes Azure Resource Graph dans les rapports Power BI d’optimisation de la gouvernance et de la charge de travail peuvent renvoyer une erreur similaire à ce qui suit :

Erreur OLE DB ou ODBC : [Expression.Error] Veuillez fournir les informations ci-dessous lors de la demande de support : timestamp = {timestamp}, correlationId = {guid}. Détails : la taille de la charge utile de réponse est {nombre}, et a dépassé la limite de 16777216. Envisagez de demander moins de données à la fois et d'effectuer un appel paginé si besoin.

Cette erreur signifie que vous avez plus de ressources que celles prises en charge dans une requête Resource Graph non filtrée. Cela se produit parce que les rapports du kit de ressources FinOps sont conçus pour afficher les détails au niveau des ressources et ne sont pas agrégés. Ils sont conçus pour les environnements de petite et moyenne taille et non conçus pour prendre en charge les organisations avec des millions de ressources.

Atténuation : Si vous rencontrez cette erreur, plusieurs options s’offrent à vous :

  • Supprimez les colonnes qui ne sont pas nécessaires pour vos besoins.
  • Filtrez la requête pour retourner moins de ressources en fonction de ce qui est le plus important pour vous (par exemple, abonnements, balises).
  • Désactivez la requête afin qu’elle ne bloque pas l’exécution d’autres requêtes.

Mise à jour de l'attribution de rôle non autorisée

Gravité : mineure

Si vous avez supprimé des hubs FinOps et que vous tentez de le redéployer avec les mêmes valeurs, y compris le nom de l’identité managée, vous pouvez rencontrer le problème connu suivant :

"code": "RoleAssignmentUpdateNotPermitted",
"message": "Tenant ID, application ID, principal ID, and scope are not allowed to be updated."

Atténuation: Pour résoudre ce problème, vous devez supprimer l'identifiant obsolète.

  • Accédez au compte de stockage et sélectionnez Contrôle d’accès (IAM) dans le menu.
  • Sélectionnez l’onglet Attributions de rôles.
  • Recherchez les attributions de rôles avec une identité « inconnue » et supprimez-les.

AffectationDeRôleExiste

Gravité : mineure

Lors de la mise à niveau des hubs FinOps d’une version vers une autre, vous pouvez rencontrer l’erreur suivante si les attributions de rôles créées dans un déploiement précédent existent toujours :

"code": "RoleAssignmentExists",
"message": "The role assignment already exists."

Cela est probablement dû au fait qu’une identité managée a été supprimée explicitement sans supprimer d’abord toutes ses attributions de rôles.

Atténuation : Pour résoudre ce problème, supprimez les attributions de rôles orphelines dans le portail Azure :

  • Accédez au groupe de ressources ou à la ressource affectée (par exemple, cluster Explorateur de données).
  • Sélectionnez Contrôle d’accès (IAM) dans le menu.
  • Sélectionnez l’onglet Attributions de rôles.
  • Recherchez les attributions de rôles avec une identité inconnue et supprimez-les.

Échec du chargement du schéma

Gravité : critique

Le pipeline finOps hub msexports_ETL_ingestion n’a pas pu charger le fichier de schéma.

Atténuation : passez en revue le message d’erreur pour noter le type et la version du jeu de données, qui sont mis en forme avec un trait de soulignement (par exemple, <type>_<version> ou FocusCost_1.0). Vérifiez que le jeu de données et le type sont tous deux pris en charge par la version déployée des hubs FinOps. Pour plus d’informations, consultez les jeux de données pris en charge.


SchémaNonTrouvé

Gravité : critique

FinOps Hub msexports_ExecuteETL pipeline n’a pas pu trouver le fichier de mappage de schéma pour le jeu de données exporté.

Prévention : vérifiez que le type et la version du jeu de données sont pris en charge. Pour plus d’informations, consultez les jeux de données pris en charge. Si le jeu de données est pris en charge, confirmez la version du hub avec le rapport d'ingestion des données.

Pour ajouter la prise en charge d’un autre jeu de données, créez un fichier de mappage personnalisé et enregistrez-le dans config/schemas/<dataset-type>_<dataset-version>.json. Les <dataset-type><dataset-version> valeurs correspondent beaucoup à ce que Cost Management utilise. Pour identifier le type de données de chaque colonne, utilisez un fichier de schéma existant en tant que modèle. Certains jeux de données ont des schémas différents pour EA et Contrat client Microsoft (MCA). Ils ne peuvent pas être identifiés via ces attributs et peuvent provoquer un problème si vous avez les deux types de compte. Nous travaillons à l’ajout de jeux de données et à la prise en compte des différences EA et MCA en nous alignant sur FOCUS.


L’URL de stockage d’importation ne correspond à aucune exportation

Gravité : Majeure

Si vous rencontrez ce problème dans les rapports FinOps toolkit 0.8, l’erreur est due à une référence à un paramètre qui n’existe pas.

Atténuation : cette opération a été corrigée dans finOps toolkit 0.9. Mettez à jour vers la dernière version pour appliquer le correctif. Si vous devez appliquer le correctif directement aux rapports 0.8, modifiez la fonction ftk_DemoFilter dans l’éditeur avancé et remplacez le contenu par : () => "". Enregistrez, fermez et appliquez toutes les modifications.


FichierDExportInconnu

Gravité : à titre d’information

Le fichier dans le stockage hub n’a pas l’air d’être exporté à partir de Cost Management. Le fichier est ignoré.

Atténuation : le conteneur msexports est destiné uniquement aux exportations de gestion des coûts. Déplacez d’autres fichiers dans un autre conteneur de stockage.


Version de focus inconnue

Gravité : à titre d’information

Ce code d’erreur s’affiche dans la colonne x_SourceChanges lorsqu’une version FOCUS n’a pas pu être identifiée.

Prévention : vérifiez que le jeu de données FOCUS utilise une version de FOCUS prise en charge. Signalez ce problème avec un échantillon anonyme des données à https://aka.ms/ftk/ideas pour examiner plus en détail.


UnknownHubVersion

Gravité : critique

Impossible d’identifier la version des hubs FinOps à partir du fichier de paramètres. Vérifiez que les paramètres sont corrects. FinOps hubs 0.1.1 et versions antérieures ne fonctionne pas avec ce rapport Power BI.

Atténuation : effectuez une mise à niveau vers la dernière version des hubs FinOps ou téléchargez des rapports Power BI à partir de la version 0.1.1 du kit de ressources FinOps.


Type de fichier d'exportation non pris en charge

Gravité : critique

Impossible d’ingérer le fichier d’exportation spécifié, car le type de fichier n’est pas pris en charge.

Prévention : soit vous convertissez le fichier dans un format de fichier pris en charge avant de l’ajouter au conteneur msexports, soit vous ajoutez la prise en charge pour convertir le nouveau type de fichier dans le pipeline msexports_ETL_ingestion.


Type d'exportation non pris en charge

Gravité : avertissement

Le manifeste d’exportation dans le stockage hub indique que l’exportation était pour un jeu de données non pris en charge. Les données exportées sont signalées comme des erreurs d’ingestion.

Prévention : créez une exportation Cost Management pour le coût FOCUS et arrêtez l’exportation actuelle ou modifiez-la pour l’exporter vers un autre conteneur de stockage.


Le fournisseur de ressources {name} n’est pas inscrit dans l’abonnement {guid}

Gravité : mineure

Ouvrez l’abonnement dans le Portail Azure, puis sélectionnez , sélectionnez la ligne du fournisseur de ressources (par exemple, Microsoft.EventGrid), puis sélectionnez la > en haut de la page. L’inscription peut prendre quelques minutes.


x_PricingSubcategory indique l’ID de remise d’engagement

Les exportations Cost Management antérieures au 28 février 2024 avaient un bogue où x_PricingSubcategory était défini de manière incorrecte pour l’utilisation validée. Vous devez vous attendre à voir les valeurs comme Committed Spend et Committed Usage. Au lieu de cela, vous pouvez voir des valeurs telles que :

  • Committed /providers/Microsoft.BillingBenefits/savingsPlanOrders/###/savingsPlans/###
  • Committed /providers/Microsoft.Capacity/reservationOrders/###/reservations/###

Si vous voyez ces valeurs, réexportez les données de coût pour ce mois-ci. Si vous devez exporter des données pour un mois plus ancien qui n’est pas disponible, contactez le support technique pour demander que les données soient exportées pour vous permettre de résoudre le problème de qualité des données à partir des exécutions d’exportation précédentes.


Power BI : Les rapports sont manquants pour des dates spécifiques

Si votre rapport ne contient pas toutes les données pendant un ou plusieurs mois, vérifiez le nombre de mois, rangeStart et les paramètres RangeEnd pour vous assurer que les données ne sont pas filtrées.

Pour vérifier les paramètres, sélectionnez dans le ruban ou sélectionnez les paramètres individuels dans le > ️ dans la fenêtre de l’éditeur de requête.

  • Si vous souhaitez toujours afficher un nombre spécifique de derniers mois, définissez le nombre de mois sur le nombre de mois fermés (terminés). Le mois en cours est un mois supplémentaire en plus du nombre de mois fermé.
  • Si vous souhaitez une plage de dates fixe qui ne change pas au fil du temps (par exemple, les rapports d’exercices), définissez RangeStart et RangeEnd.
  • Si vous souhaitez signaler toutes les données disponibles, vérifiez que les trois paramètres de date sont vides.

Pour plus d’informations, consultez Configurer votre premier rapport.


Power BI : Les rapports sont vides (aucune donnée)

Si vous ne voyez aucune donnée dans votre power BI ou d’autres rapports ou outils, essayez ce qui suit en fonction de votre source de données :

  1. Si vous utilisez le connecteur Cost Management dans Power BI, vérifiez les Billing Account ID paramètres et Number of Months vérifiez qu’ils sont correctement définis. Gardez à l’esprit les anciens comptes de facturation peuvent ne pas avoir de données au cours des derniers mois.
  2. Si vous utilisez des hubs FinOps, vérifiez le compte de stockage pour vous assurer que les données sont renseignées dans le conteneur d’ingestion . Vous devriez voir un dossier fournisseurs ou abonnements. Utilisez les sections suivantes pour résoudre les problèmes supplémentaires.

Hubs FinOps : le conteneur d’ingestion est vide

Si le conteneur d’ingestion est vide, ouvrez l’instance Data Factory dans Data Factory Studio, puis sélectionnez Gérer>Créer>Déclencheurs et vérifiez que le déclencheur msexports_FileAdded est démarré. Si ce n’est pas le cas, démarrez-le.

Si le déclencheur ne parvient pas à démarrer avec une erreur « Fournisseur de ressources n’est pas inscrit », ouvrez l’abonnement dans le Portail Azure, sélectionnez > de ressources, sélectionnez la ligne Microsoft.EventGrid, puis sélectionnez la commande Inscrire en haut de la page. L’inscription peut prendre quelques minutes.

Une fois l’inscription terminée, démarrez à nouveau le déclencheur msexports_FileAdded .

Une fois le déclencheur démarré, réexécutez toutes les exportations Cost Management connectées. Les données doivent être entièrement ingérées dans les 10 à 20 minutes, selon la taille du compte.

Si le problème persiste, vérifiez si les exportations Cost Management sont configurées avec le partitionnement de fichiers activé. Si vous la trouvez désactivée, activez-la et réexécutez les exportations.

Vérifiez que le conteneur d’ingestion est rempli et actualisez vos rapports ou d’autres outils connectés.

Hubs FinOps : fichiers disponibles dans le conteneur d’ingestion

Si le conteneur d’ingestion n’est pas vide, vérifiez si vous avez des fichiers parquet ou csv.gz en explorant les dossiers.

Une fois que vous savez, vérifiez que le paramètre FileType est défini sur .parquet ou .gz dans le rapport Power BI. Pour plus d’informations, consultez Se connecter à vos données .

Si vous utilisez un autre outil, vérifiez qu’il prend en charge le type de fichier que vous utilisez.


Power BI : impossible de résoudre le nom distant : « <storage-account>.dfs.core.windows.net »

Indique que le nom du compte de stockage est incorrect. Si vous utilisez des hubs FinOps, vérifiez le paramètre StorageUrl à partir du déploiement. Pour plus d’informations, consultez Se connecter à vos données .


Power BI : Nous ne pouvons pas convertir la valeur Null en type Logique

Indique que le paramètre ID de compte de facturation est vide. Si vous utilisez des hubs FinOps, définissez la valeur sur l’ID de compte de facturation souhaité. Si vous n’avez pas accès au compte de facturation ou que vous ne souhaitez pas inclure d’achats et de remboursements d’engagement, définissez la valeur sur 0 et ouvrez la requête CostDetails dans l’éditeur avancé et remplacez-la par 2 un 1. Cela configure le rapport pour ne pas charger les données réelles ou facturées des coûts depuis le connecteur Cost Management. Pour plus d’informations, consultez Se connecter à vos données .

Versions applicables : 0.1 - 0.1.1 (fixe dans la version 0.2)


Hubs FinOps : nous ne pouvons pas convertir la valeur Null en type Table

Cette erreur indique généralement que les données n’ont pas été ingérées dans le conteneur d’ingestion .

Si vous venez de mettre à niveau vers FinOps Hubs 0.2, le problème peut résulter de l’ancien rapport Power BI (à partir de 0.1.x) ou parce que vous n’utilisez pas d’exportations FOCUS. Pour plus d’informations, consultez le guide de mise à niveau.

Pour plus d’informations sur la résolution des problèmes, consultez Les rapports sont vides (aucune donnée).


Envoyer des commentaires

Faites-nous savoir ce que vous pensez de notre travail avec un petit avis. Nous utilisons ces révisions pour améliorer et développer les outils et ressources FinOps.

Si vous recherchez quelque chose de spécifique, votez pour une idée existante ou créez une nouvelle idée. Partagez des idées avec d’autres personnes pour obtenir plus de votes. Nous nous concentrons sur les idées avec le plus de votes.


Si vous ne voyez pas l’erreur que vous rencontrez, consultez le guide de résolution des problèmes. Si vous avez des questions, commencez une discussion ou créez un problème dans GitHub.