Matrix42 API nutzen um Daten aus Asset Management zusammenzustellen

Post Reply
Kevin.Doe
Posts: 1
Joined: 06. Aug 2020, 11:49
Contact:

Matrix42 API nutzen um Daten aus Asset Management zusammenzustellen

Post by Kevin.Doe » 07. Aug 2020, 09:13

Hallo zusammen :)

Ich versuche seit Anfang der Woche über die Rest-APIs von Matrix42 auf verschiedene Daten aus dem Asset Management zuzugreifen.
Über den öffentlichen Fragments Webservice api/data/fragments/ddname erhalte ich schon viele der benötigten Daten.
Welche Daten ich brauche bzw. bekomme entnehmen ich aus den Matrix42 Datendefinitionen von folgender Seite:
https://help.matrix42.com/020_ESM/Servi ... te_Mapping
Die erhaltenen Daten von den verschiedenen DDs möchte ich im nächsten Schritt über bspw. Python zusammenstellen und in unsere cmdb wieder in die entsprechenden Felder einfügen.

Jetzt wird es knifflig für mich:
Wenn ich mir über die Fragments API eine Liste der Assets mit bspw. SPSComputerClassBase ausgeben lasse und anschließend auf ein Fragment über die Id die bei dem Aufruf zurückgegeben wird zugreife, um erweiterte Informationen über das Asset zu bekommen, dann stimmt diese Id aus der DD weder mit der fragmentId aus dem Asset Management selbst, noch mit der zurückgegebenen Id aus einer anderen DD wie SPSComputerClassOS oder SPSAssetClassBase überein.
Die Ids sind also bei Verwendung unterschiedlicher DDs nicht auf ein bestimmtes Asset zurückzuführen und somit können die einzelnen Daten nicht zusammengeführt werden.

Zu meiner Frage an euch...
Ist die api/data/fragments für mein Vorhaben geeignet oder gibt es bessere Möglichkeiten um an die Asset/Inventory Daten zu kommen?
Gibt es eine Möglichkeit, wie ich die Informationen aus den DDs den einzelnen Assets über eine einheitliche Id o.ä zuordnen kann, damit ich mir die Daten zusammenstellen kann?

Ich hoffe mir kann jemand von euch weiterhelfen :D

Vielen Dank für eure Zeit!

Grüße,
Kevin

Steinbit
Posts: 128
Joined: 30. Nov 2017, 16:32
Contact:

Re: Matrix42 API nutzen um Daten aus Asset Management zusammenzustellen

Post by Steinbit » 17. Aug 2020, 09:10

Hi Kevin,

Du hast 2 Möglichkeiten: Entweder du greifst du statt auf die einzelnen DD gleich auf das Objekt zu oder du kannst die einzelnen Fragments über die [Expression-Objectid] mappen.

Ich denke jedoch bei deinem Anwendungsfall ist eine Kombination aus dem Webservice /API/Data/Fragments/SPSAssetClassBase und /API/Data/Objects zielführend.

Zunächst holst du dir eine Liste mit [Expression-ObjectId] und CI-Typ aller benötigten Assets (Get FragementList) und baust eine ForEach Schleife um dann einzeln alle Ergebnisse weiterzuarbeiten. Innerhalb dieser Schleife machst du einen zweiten API Aufruf (Get Object) mit dem Parameter Full=True, um auch alle MultiFragment Elemente (z.B. Journal) zu erhalten.

GetList:

Code: Select all

https://host/m42services/API/Data/Fragments/SPSAssetClassBase?where=yourASQL-Filter?columns=[Expression-ObjectID] AS objId, SUBQUERY(BasicSchemaObjectType as sot, sot.Name, sot.id = base.T(SPSCommonClassBase).TypeID) AS ciType
Object:

Code: Select all

https://host/m42services/API/Data/Objects/{ciType}/{objId}?full=true

Mehr Details zu den Webservices findest du hier:
https://help.matrix42.com/030_DWP/030_I ... ta_Service

Post Reply

Return to “Asset Management”

Who is online

Users browsing this forum: No registered users and 6 guests