Exécution d'importations de données

9.2.2 Disponible à partir de la version 9.2.2. Vous pouvez utiliser cette API REST pour vérifier le statut d'une importation de données, ou pour exécuter une importation de données de type Données brutes uniquement ou Terminé. Toutes ces actions sont complétées par une demande d'API commune. Vous les distinguez en ajoutant la demande avec des paramètres spécifiques. Pour utiliser cette API, vous devez utiliser l'opération GET sur l'élément api/import_status.json ou son alias api/management/imports.json.

Tâches préalables

Icône représentant un utilisateur. Vous devez disposer du droit Gérer les importations pour effectuer cette tâche.

Vérification de l'état d'importation

Avant de commencer à exécuter des importations de données, extrayez le statut de l'importation de données pour garantir qu'aucune importation n'est actuellement en cours. Les statuts qui peuvent être extraits sont expliqués dans Exemple de conversation HTTP. Pour vérifier le statut d'importation, utilisez la demande suivante :
https://hostname:port/api/import_status.json?token=token

Exécution d'une importation Données brutes uniquement

L'exécution d'une importation Données brutes uniquement est beaucoup plus rapide, car elle n'extrait que les résultats d'analyse bruts. Ce type d'importation de données est utilisé pour extraire les résultats d'analyse bruts via l'API REST. Une importation de données Données brutes uniquement comprend les étapes suivantes du processus d'importation :

  • Initialisation des modèles :
    Calling Model.before_snapshot
  • Initialisation de chaque source de données :
    Initialize datasource #{datasource.name}
  • Données de l'ordinateur :
    RawComputerId
    Computer
    ComputerPropertyValue
    ComputerDimension
  • Fichiers associés à l'ordinateur :
    RawDatasourceFile
    DatasourceFile
    SAM::ScanFile
  • Fichier analysé, package, package UNIX et données d'utilisation d'application :
    SAM::FileFactDelta
    SAM::FileFact
    SAM::RawPackageFact
    SAM::PackageFact
    SAM::RawUnixPackageFact
    SAM::UnixPackageFact
    SAM::RawAppUsagePropertyValue
    SAM::AppUsagePropertyValue
Pour commencer à importer vos données brutes, ajoutez la demande de l'API avec le paramètre run et indiquez la valeur :raw_only
https://hostname:port/api/import_status.json?token=token&run=raw_only
Remarque : Après l'exécution d'une importation de données Données brutes uniquement, les données brutes peuvent être récupérées via l'API REST, mais ne sont pas visibles dans l'interface utilisateur. L'interface utilisateur affiche toujours l'état de votre environnement à partir de la dernière importation de données réussie. La seule exception est le rapport Données de mesure qui montre les données les plus récentes, même après une importation de données brutes uniquement. Pour plus de détails, voir Importation de données d'analyse brutes

Exécution d'une importation de données complète

L'exécution d'une importation Complete via l'API REST a le même effet que l'exécution de l'importation de données à partir de l'interface utilisateur. Pour commencer à importer vos données, ajoutez la demande de l'API avec le paramètre run et indiquez le valeur :Complete
https://hostname:port/api/import_status.json?token=token&run=complete

Descriptions des opérations

Remarque : Chaque demande d'API doit être authentifiée avec le paramètre token. Vous pouvez les extraire en utilisant API REST pour l'extraction du jeton d'authentification. Vous pouvez également vous connecter à BigFix Inventory, survoler l'icône Utilisateur et cliquer sur Profil. Cliquez ensuite sur Afficher le jeton.
Tableau 1. Descriptions des opérations
Détails de l'opération Description
Fonctionnement GET /api/import_status.jsonou GET /api/management/imports.json
Finalité Renvoie le statut de l'importation de données
Méthode HTTP GET
URI de resources https://server_host_name:port_number/api/import_status.jsonou https://server_host_name:port_number/api/management/imports.json
Relation du lien de l'URL n/a
Paramètres de requête URI n/a
En-têtes de demande
Fonction métier
Accept-Language (Facultatif)
Valeurs
en-US (seul l'anglais est pris en charge)

Sert à négocier la langue de la réponse. Si cet en-tête n'est pas spécifié, le contenu est renvoyé dans la langue du serveur.

Charge de la demande Non disponible
Demande Content-Type
  • application/json
En-têtes de réponse
En-tête
Content-Type
Valeurs
application/json

Définit le type de contenu de la réponse.

En-tête
Content-Language
Valeurs
en-US, …;

Définit la langue du contenu de la réponse. Si cet en-tête n'est pas spécifié, le contenu est renvoyé dans la langue du serveur.

Charge de la réponse Import status élément
RéponseContent-Type
  • application/json
Codes de réponse normaux HTTP
  • 200 – OK
Codes de réponse HTTP d'erreur
  • 500 – “Bad Request” si un paramètre de requête contient des erreurs ou est manquant

Le corps du message comprend un message d'erreur détaillé.

Paramètres de requête

Vous pouvez utiliser des paramètres de requête pour limiter le nombre de résultats de votre recherche ou pour exécuter des actions supplémentaires. Le tableau suivant présente les paramètres de requête que vous pouvez utiliser pour les éléments api/import_status.json et api/management/imports.json.
Tableau 2. Paramètres de requête pour exécuter une importation de données et extraire son statut

Ce tableau comporte quatre colonnes et neuf lignes.

Paramètre Description Requis Valeur
format Indique le format des informations extraites. Les valeurs possibles sont json ou xml.
éxtrayez des informations au format :json
URL?format=json
Non Chaîne
Jeton Identificateur d'authentification utilisateur unique. Vous pouvez afficher votre jeton dans les préférences du profil de BigFix Inventory. Oui Alphanumérique
run Indique le type d'une importation de données à exécuter. Les valeurs possibles sont :
  • complete - exécute une importation complète (Complete) de données
  • raw_only - exécute une importation Données brutes uniquement qui extrait les résultats d'analyse bruts. Les données ne sont pas agrégées et ne figurent donc pas dans l'interface utilisateur. Vous pouvez les récupérer uniquement via l'API REST.
Non Chaîne

Exemple de conversation HTTP

Demande
GET api/import_status.json
?token=7adc3efb175e2bc0f4484bdd2efca54a8fa04623
Host: localhost:9081 
Accept: application/json 
Accept-Language: en-US
En-tête de réponse
HTTP/1.1 200 OK
Content-Type: application/json
Content-Language: en-US
Corps de réponse (JSON)
Si aucune importation de données n'a été initiée :
{
  "mode": "none",
  "can_run_imports": true,
  "import_status_url": "/import_status",
  "import_create_url": "/management/imports",
}
Si une importation de données est en cours :
{
  "mode": "running",
  "can_run_imports": true,
  "import_status_url": "/import_status",
  "import_create_url": "/management/imports",
  "progress": 59
}
Si aucune importation de données n'est en cours d'exécution :
{
  "mode": "idle"/"pending",
  "can_run_imports": true,
  "import_status_url": "/import_status",
  "import_create_url": "/management/imports",
  "last_status": successful,
  "last_success_time": "2015-06-18T04:00:29Z"
  "last_import_time": "2015-06-18T04:00:29Z",
  "last_import_type": "raw_only"
  "next_import_time": "2015-06-20T06:00:00Z",
  "next_import_time_in": 75057,
  "next_import_type": "complete"
}
Où :
  • mode - statut de l'importation de données, peut prendre les valeurs suivantes :
    • none - aucune importation de données n'a été initiée
    • idle - aucune importation de données ne s'exécute actuellement
    • running - une importation de données est en cours
    • pending - une action exécutée dans l'interface utilisateur nécessite le démarrage d'une importation de données pour que le changement prenne effet
  • can_run_imports - spécifie si l'utilisateur qui extrait cette API peut exécuter des importations,
  • import_status_url - adresse Web de cette API,
  • import_create_url - adresse Web du panneau des importations de données dans BigFix Inventory,
  • progress - statut en pourcentage de l'importation en cours,
  • last_status - statut de la dernière importation,
  • last_success_time - heure de la dernière importation réussie,
  • last_import_time - heure de la dernière importation,
  • last_import_type - type de la dernière importation,
  • next_import_time - heure de la prochaine importation prévue,
  • next_import_time_in - temps restant (en secondes) avant la prochaine importation de données prévue,
  • next_import_type - type de la prochaine importation prévue.