Importation et exportation de données avec une API REST

Vous pouvez utiliser des API REST pour exporter des données de votre système C vers un système ou une application externe et pour importer des données d'un système ou d'une application externe dans votre système Manage . Vous pouvez exporter et importer des fichiers JSON, XML ou CSV.

Importation de données

Pour importer des données, vous devez choisir une structure d'objet Gérer qui fait référence aux objets métier Gérer qui consomment les données. Si vous utilisez un fichier CSV, vous devez sélectionner une structure d'objet compatible avec les fichiers à plat. Toutes les structures d'objet conçues pour une API principale sont compatibles avec les fichiers à plat.

La syntaxe est validée pour les données avant qu'elles ne soient stockées dans un référentiel Manage interne.

Le tableau suivant présente des exemples d'importation de données à l'aide d'API REST :

Tableau 1. Exemples d'importation de données
Cas d'utilisation Appels d'API REST et réponses
Les données sont importées de façon synchrone depuis un fichier CSV contenant 10 enregistrements

L'appel suivant est utilisé :

POST /maximo/api/os/object 
structure
?action=importfile CSV file content

La réponse suivante est renvoyée :

{
 “validdocs”:10
}
Les données d'actif et de site sont importées de façon synchrone depuis un tableau de fichier JSON

L'appel suivant est utilisé :

POST /maximo/api/os/object 
structure
?action=importfile Filetype: JSON [ { “assetnum”:”asset number”, “siteid”:”site ID” }, { “assetnum”:”asset number”, “siteid”:”site ID” } ]
Les données sont importées de façon asynchrone depuis un fichier CSV

L'appel suivant est utilisé :

POST /maximo/api/os/object 
structure
?action=importfile&name=filename.csv&async=1 CSV file content
Remarque: lors d'une exportation CSV qui utilise un attribut .notation ou son alias, la sortie était en minuscules. Ce problème est désormais résolu dans Maximo® Manage 8.5 et la sortie est désormais en majuscules.

La tâche périodique APIFILEIMPORT extrait les données importées et traite le contenu. Elle est exécutée toutes les 30 minutes, mais vous pouvez configurer sa fréquence.

Une fois que vous avez importé des données, une URL d'emplacement contenant le statut de la tâche périodique APIFILEIMPORT est fournie. Si une erreur survient alors que la tâche périodique traite les données, la réponse à l'URL d'emplacement est imbriquée avec une URL menant à un fichier d'erreurs, que vous pouvez télécharger. Une fois que l'erreur a été résolue, importez à nouveau le fichier. Assurez-vous de spécifier un nouveau nom dans le paramètre de requête name.

Si vous utilisez un fichier JSON, pour activer cette réponse d'erreur, l'en-tête de demande Filetype doit avoir pour valeur JSON.

La réponse suivante est un exemple de réponse à l'URL d'emplacement en cas d'erreur. Le type de fichier est JSON.

{
 "iscomplete": true,
 "totalcount": 3,
 "errcount": 1,
 "requser": "Username",
 "fileimportreqqueueid": 3,
 "format": "JSON",
 "errorfile": "http://host:port/maximo/api/fileimporterrfile/3",
 "_rowstamp": "1521573",
 "iscancelled": false,
 "reqdatetime": "2019-02-20T14:08:22-05:00",
 "name": "testloc3.json",
 "href": "http://host:port/maximo/api/os/mxapifileimportqueue/_dGVzdGxvYzMuanNvbg--",
 "pindex": 3,
 "osname": "MXAPIOPERLOC"
}

Exportation de données

Si vous exportez des données à l'aide d'API REST pour une intégration entre machines, vous devez créer une clé d'API pour le client externe.

Le format de fichier par défaut pour l'exportation de données est JSON.

Par exemple, l'appel d'API REST suivant exporte des données d'actif, de site et d'emplacement depuis la structure d'objet MXAPIASSET sous la forme d'un fichier CSV :

GET /api/os/mxapiasset?oslc.select=assetnum,siteid,status,location&oslc.pageSize=100&
oslc.where=status=”OPERATING”&_format=csv&apikey=API key
Pour les applications basées sur les rôles Maximo Manage basées sur la technologie Graphite, les API REST sont utilisées pour exporter des fichiers à plat, c'est-à-dire des fichiers CSV, à partir de n'importe quelle table d'interface utilisateur. Le processus d'exportation est asynchrone et écrit le contenu de la table de l'interface utilisateur page par page dans un compartiment S3 ou dans le répertoire global de l' infrastructure d'intégration Maximo . Ensuite, il combine les pages dans un seul fichier, que vous pouvez télécharger.
Remarque: En tant qu'administrateur, vous pouvez configurer un montage PVC (Persistent Volume Claim) pour tous les pods Maximo Manage et le lier à la propriété mxe.int.globaldir . Vous pouvez également configurer un compartiment S3 pour l'exportation en définissant le nom du compartiment dans la propriété mxe.cosfileexportbucketname . L' URL S3, l'accès et la clé secrète sont définis à l'aide des propriétés S3 standard : mxe.cossecretkey, mxe.cosaccesskey et mxe.cosendpointuri. Si la propriété mxe.int.globaldir ou la propriété mxe.cosfileexportbucketname n'est pas définie, l'exportation de fichier ne fonctionne pas comme prévu.

Pour plus d'informations sur les Maximo Mobile REST, voir Maximo Mobile REST APIs.