Importowanie i eksportowanie danych za pomocą interfejsu API REST

Interfejsów REST API można używać do eksportowania danych z systemu C do systemu zewnętrznego lub aplikacji oraz do importowania danych z systemu zewnętrznego lub aplikacji do systemu Zarządzanie . Możliwe jest eksportowanie i importowanie plików JSON, XML lub CSV.

Importowanie danych

Aby zaimportować dane, należy wybrać strukturę obiektu Manage , która odwołuje się do obiektów biznesowych Manage , które używają tych danych. Jeśli używany jest plik CSV, należy wybrać strukturę obiektu obsługującą pliki tekstowe. Wszystkie struktury obiektów przeznaczone dla głównego interfejsu API obsługują pliki tekstowe.

Poprawność składni sprawdzana jest dla danych, zanim dane zostaną zapisane w wewnętrznym repozytorium Manage .

Poniższa tabela zawiera przykłady importu danych przy użyciu interfejsów API REST:

Tabela 1. Przykłady importu danych
Przypadek użycia Wywołania i odpowiedzi interfejsów API REST
Synchroniczny import danych z pliku CSV zawierającego 10 rekordów

Używane jest wywołanie:

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

Zwrócona zostaje następująca odpowiedź:

{
 “validdocs”:10
}
Dane zasobów i ośrodków są synchronicznie importowane z tablicy w pliku JSON

Używane jest wywołanie:

POST /maximo/api/os/object 
structure
?action=importfile Filetype: JSON [ { “assetnum”:”asset number”, “siteid”:”site ID” }, { “assetnum”:”asset number”, “siteid”:”site ID” } ]
Asynchroniczny import danych z pliku CSV

Używane jest wywołanie:

POST /maximo/api/os/object 
structure
?action=importfile&name=filename.csv&async=1 CSV file content
Uwaga: Podczas wykonywania eksportu w formacie CSV, który używa atrybutu .notation lub jego aliasu, dane wyjściowe były w dolnym przypadku. Ten problem został teraz rozwiązany w programie Maximo® Manage 8.5 , a dane wyjściowe są teraz dostępne w górnej części sprawy.

Zadanie Cron APIFILEIMPORT pobiera zaimportowane dane i przetwarza je. Zadanie Cron uruchamiane jest co 30 minut, ale częstotliwość tę można zmienić.

Po zaimportowaniu danych udostępniany jest adres URL lokalizacji, która zawiera status zadania Cron APIFILEIMPORT. Jeśli podczas przetwarzania danych przez zadanie Cron wystąpi błąd, odpowiedź do adresu URL lokalizacji zawiera adres URL, spod którego można pobrać plik z informacją o błędzie. Po wyeliminowaniu błędu należy ponownie zaimportować plik. Jako parametr zapytania name należy podać nową nazwę.

Jeśli używany jest plik JSON, to aby taka odpowiedź w przypadku błędów była generowana, nagłówek żądania Filetype musi być równy JSON.

Poniżej znajduje się przykład odpowiedzi na adres URL lokalizacji w przypadku wystąpienia błędu. Typ pliku to 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"
}

Eksportowanie danych

Chcąc eksportować dane za pomocą interfejsów API REST na potrzeby integracji między komputerami, należy utworzyć klucz API dla klienta zewnętrznego.

Domyślny format eksportu danych to JSON.

Na przykład poniższe wywołanie API REST eksportuje dane o zasobach, ośrodkach i lokalizacjach ze struktury obiektu MXAPIASSET w formie pliku CSV:

GET /api/os/mxapiasset?oslc.select=assetnum,siteid,status,location&oslc.pageSize=100&
oslc.where=status=”OPERATING”&_format=csv&apikey=API key

Więcej informacji na temat nowych interfejsów REST API zawiera interfejs API usług REST Maximo.