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.
BadHubVersion
Gravité : Critique
FinOps Hubs 0.2 n’est pas opérationnel. Effectuez une mise à niveau vers la version 0.3 ou ultérieure.
Atténuation : effectuez une mise à niveau vers la dernière version des hubs FinOps.
InvalidExportContainer
Gravité : Critique
Ce fichier ressemble à celui-ci peut être exporté à partir de Cost Management, mais il n’est pas dans le conteneur approprié.
Atténuation : Mettez à jour votre exportation Cost Management pour qu’elle pointe vers le conteneur de stockage « msexports ». Le conteneur « ingestion » est utilisé uniquement pour interroger les données de coût ingérées.
InvalidExportVersion
Gravité : Critique
Les hubs FinOps nécessitent des exportations de coûts FOCUS, mais ce fichier ressemble à une exportation Cost Management héritée.
Atténuation : 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.
InvalidHubVersion
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é : 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 l’étendue que l’exportation a été créée pour simplifier la gestion. Il ne doit pas provoquer d’échecs, mais peut entraîner des résultats déroutants pour les rapports liés à l’étendue.
Atténuation : Mettez à jour le chemin de stockage de l’exportation Cost Management pour utiliser l’ID de ressource Azure complet pour l’étendue.
ExportDataNotFound
Gravité : Critique
Les exportations n’ont pas été trouvées dans le chemin de stockage spécifié.
Atténuation : 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.
HubDataNotFound
Gravité : Critique
Les données du hub FinOps n’ont pas été trouvées dans le compte de stockage spécifié.
Atténuation : 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 ingestion
conteneur. Vérifiez les informations suivantes :
- L’URL de stockage doit correspondre à la
StorageUrlForPowerBI
sortie du déploiement du hub FinOps. - Les exportations Cost Management doivent être configurées pour pointer vers le même compte de stockage à l’aide du
msexports
conteneur. - Les exportations Cost Management doivent afficher une exportation réussie dans l’historique des exécutions.
- Les déclencheurs finOps Hub Data Factory doivent tous être démarrés.
- Les pipelines finOps Hub data factory doivent réussir.
Pour plus d’informations et des étapes de débogage, consultez Valider votre déploiement de hub FinOps.
MissingContractedCost
Gravité : Information
Ce code d’erreur s’affiche dans la x_DatasetChanges
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.
Atténuation : pour contourner les données manquantes, le kit de ressources FinOps signale copier la ContractedCost
EffectiveCost
colonne pour les lignes signalées avec ce code d’erreur. 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.
MissingContractedUnitPrice
Gravité : Information
Ce code d’erreur s’affiche dans la x_DatasetChanges
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.
Atténuation : pour contourner les données manquantes, le kit de ressources FinOps signale copier la ContractedUnitPrice
EffectiveUnitPrice
colonne pour les lignes signalées avec ce code d’erreur. 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é : Information
Ce code d’erreur s’affiche dans la x_DatasetChanges
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.
Atténuation : pour contourner les données manquantes, le kit de ressources FinOps signale copier la ListCost
ContractedCost
colonne pour les lignes signalées avec ce code d’erreur. 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.
MissingListUnitPrice
Gravité : Information
Ce code d’erreur s’affiche dans la x_DatasetChanges
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.
Atténuation : pour contourner les données manquantes, le kit de ressources FinOps signale copier la ListUnitPrice
ContractedUnitPrice
colonne pour les lignes signalées avec ce code d’erreur. 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.
ManifestReadFailed
Gravité : Critique
Le hub FinOps msexports_ExecuteETL pipeline n’a pas pu lire le fichier manifeste Cost Management.
Atténuation :
- 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.
- 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.
- 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) :
- Ouvrez le compte de stockage hub dans l’explorateur Portail Azure ou stockage.
- Dans le Portail Azure, accédez au navigateur Stockage dans le menu.
- Sélectionnez le conteneur msexports .
- Accédez à la hiérarchie de fichiers pour l’exportation avec le problème (voir l’emplacement du manifeste dans le message d’erreur).
- Recherchez le fichier manifest.json et sélectionnez le menu (⋯), puis sélectionnez Affichage/modification.
- 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>", ... }, ... }
- 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 ». Respecte la casse.
- type doit exister, mais ne doit pas échouer avec cette erreur pour une valeur non null.
- 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.
- Si vous utilisez une version d’API plus récente :
- 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.
- Supprimez l’exportation dans Cost Management.
- Créez une exportation à l’aide de la commande PowerShell New-FinOpsCostExport à l’aide d’une version d’API prise en charge.
Conseil
Si vous vous considérez vous-même comme un utilisateur de l’alimentation, vous pouvez essayer de mettre à jour le pipeline vous-même pour la résolution la 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._
- Si vous remarquez que les propriétés ont changé pour une version d’API prise en charge :
- Pour suivre la modification cassant, créez un problème de demande de modification dans GitHub. Incluez le type, dataVersion et apiVersion à partir de votre fichier manifest.json.
- Déposez une demande de support auprès de Cost Management pour demander leur modification, car elle interrompt tout le monde à l’aide de 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é basé sur la version
<your-supported-api-version>
de l’API qui s’attend à ce que lesexportConfig.type
exportConfig.dataVersion
propriétés soient livréesexportConfig.resourceId
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 :
- Ouvrez le groupe de ressources hub dans le Portail Azure.
- Sélectionnez Paramètres>déploiements dans le menu de gauche.
- Vérifiez que tous les déploiements réussissent. Plus précisément, recherchez les noms de déploiement suivants :
- main
- hub
- dataFactoryResources
- storage
- keyVault
- 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).
- Si l’erreur semble temporaire, réessayez de déployer.
- 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).
- 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.
ResourceAccessForbiddenException
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.
RoleAssignmentUpdateNotPermitted
Si vous avez supprimé FinOps Hubs 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."
Pour résoudre ce problème, vous devez supprimer l’identité 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.
SchemaLoadFailed
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.
SchemaNotFound
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é.
Atténuation : 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 de 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 de comptes pour les différences EA et MCA en s’alignant sur FOCUS.
UnknownExportFile
Gravité : 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 Cost Management. Déplacez d’autres fichiers dans un autre conteneur de stockage.
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.
UnsupportedExportFileType
Gravité : Critique
Impossible d’ingérer le fichier d’exportation spécifié, car le type de fichier n’est pas pris en charge.
Atténuation : convertissez le fichier dans un format de fichier pris en charge avant d’ajouter au conteneur msexports ou ajoutez la prise en charge de la conversion du nouveau type de fichier dans le pipeline msexports_ETL_ingestion .
UnsupportedExportType
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.
Atténuation : 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 de nom> n’est pas inscrit dans le guid d’abonnement <>
Ouvrez l’abonnement dans le Portail Azure, puis sélectionnez Fournisseurs de ressources paramètres>, sélectionnez la ligne du fournisseur de ressources (par exemple, Microsoft.EventGrid), puis sélectionnez la commande Inscrire 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 qui 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 Transformer les paramètres de modification des données>dans le ruban ou sélectionnez les paramètres individuels dans le 🛠dossier d’installation ️ 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 :
- Si vous utilisez le connecteur Cost Management dans Power BI, vérifiez les
Billing Account ID
paramètres etNumber 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. - 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 devez 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 les>déclencheurs d’auteur>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 Paramètres>des fournisseurs 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 parquet ou csv.gz fichiers en explorant les dossiers.
Une fois que vous savez, vérifiez que le paramètre FileType est défini .parquet
sur 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
. Il informe le rapport de ne pas charger les données de coût réelles/facturées à partir du 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).
Contenu connexe
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.